大佬帮帮孩子吧,调了一下午都不对qwq

P2058 [NOIP2016 普及组] 海港

用动态数组也行,但有点麻烦 ...... 我建议用队列 本蒟蒻的AC代码 ``` #include<iostream> #include<cstdio> using namespace std; int T[100005],a[300005],queue[300005]; //T数组是桶 int main(){ int n,t,k,c=0,l=0,r=0; //l是头,r是尾,c是统计乘客中有几种不同的国籍 cin>>n; for(int i=1;i<=n;i++){ cin>>t>>k; for(int j=1;j<=k;j++){ queue[++r]=t; //用队列储存时间 cin>>a[r]; if(T[a[r]]++==0) //如果桶数组的这一位是0,说明之前没有这种国籍的乘客 c++; //计数器加加 } while(t-queue[l]>=86400){ //如果这一位和第一艘船的时间差比86400秒大 if(--T[a[l++]]==0){ //跳到下一个人,如果这个人是一个国籍的唯一一个人 c--; //暂且不再有这个国籍 } } cout<<c<<endl; } return 0; } ``` 写的贼详细,你可以参考参考
by Cheng_ZH0086 @ 2023-08-03 09:34:19


@[Cheng_ZH0086](/user/666738) ​按你方法为啥把头文件改成万能头文件编译不了
by I_am_a_rookie_O @ 2023-08-10 20:40:47


@[DU654321](/user/1042321) 我也没写万能头呀?
by Cheng_ZH0086 @ 2023-08-10 21:34:28


@[I_am_a_rookie_O](/user/1042321) 因为如果使用万能头的话,头文件queue中的队列queue会和数组名重复。
by xiaoshumiao @ 2023-09-02 21:44:59


|