求思路和代码

学术版

##233##
by 语文㺭 @ 2018-04-07 14:22:57


#233#
by 语文㺭 @ 2018-04-07 14:23:07


个人思路: 大鱼要想吃到小鱼,必须: - 方向相反 - 大鱼之前没有被更大的鱼吃掉 于是就有了我下面的蒟蒻代码: ```cpp #include<cstdio> #include<cstring> int main(){ FILE *fin,*fout; fin=fopen("fish.in","rb"); fout=fopen("fish.out","wb"); int n,a[2010][2],b[2010]; memset(b,0,sizeof(b)); fscanf(fin,"%d",&n); for(register int i=1;i<=n;i++){ char c; fscanf(fin,"%d %c",&a[i][0],&c); if(c=='L')a[i][1]=-1;else a[i][1]=1; } for(register int i=1;i<=n;i++){ if(b[i])continue; for(register int j=i+a[i][1];j<=n&&j>0;j+=a[i][1]){ if(b[j])continue; if(a[i][0]<a[j][0]&&a[i][1]+a[j][1]==0){b[i]=1;break;} if(a[i][0]>a[j][0]&&a[i][1]+a[j][1]==0)b[j]=1; } } int ans=0; for(register int i=1;i<=n;i++)if(!b[i])ans++; fprintf(fout,"%d",ans); fclose(fin);fclose(fout); return 0; } ``` (请无视文件操作) dalao话说这好像是2016安庆市赛的题目(虽然我是不是安庆人)……亲测小学组能过,初中组就不一定了。
by Altria_Pendragon_ @ 2018-04-07 14:27:19


@[codingtang](/space/show?uid=55286)
by Altria_Pendragon_ @ 2018-04-07 14:27:33


I is fish
by λᴉʍ @ 2018-04-07 14:34:04


We is fish
by strangers @ 2018-04-07 15:07:53


@[strangers](/space/show?uid=52452) We are fish.
by moye到碗里来 @ 2018-04-07 15:09:31


I is fish two.
by char32_t @ 2018-04-07 15:09:49


...
by moye到碗里来 @ 2018-04-07 15:14:05


I is fish two.
by bcku1 @ 2018-04-07 17:06:55


| 下一页