网页设计课上实在无聊,便开始补题,发现比赛时候僵着的东西突然相通了不少
首先,“追妹”这题,两个队友讨论半天,分好多种情况最后放弃(可是我连题目都没看啊),今天看了之后试试是不是直接判断情况就可以,于是出现
1 #include<stdio.h> 2 int main() 3 { 4 int T,n,m,a,b,u,v,i,flag; 5 scanf("%d",&T); 6 while(T--) 7 { 8 flag=0; 9 scanf("%d%d%d%d",&n,&m,&a,&b); 10 for(i=1;i<=m;i++) 11 { 12 scanf("%d%d",&u,&v); 13 if(u==a&&v==b || u==b&&v==a) flag=1; 14 } 15 if(flag) printf("chhappy\n"); 16 else printf("chsad\n"); 17 } 18 return 0; 19 }
这样的1A,噗...............喷血,这个不多说当时没看题,遗憾遗憾。
Next,“最大子段和”,我发4, 5个小时比赛3人起码在这上面花了2.5个小时,结果依旧没A。太傻了各自,当时怎么就没想过for循环跑的时候 i+=2 ,唉,无奈,居然会如此给A
1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 #define maxn 100005 7 int num[maxn]; 8 int main() 9 { 10 int t,n,sum; 11 cin>>t; 12 while(t--) 13 { 14 cin>>n; 15 for(int i=1;i<=n;i++) cin>>num[i]; 16 int ans=num[1],sum=num[1]; 17 for(int i=2;i<n;i+=2) 18 { 19 sum+=(num[i]+num[i+1]); 20 sum=max(sum,num[i+1]); 21 ans=max(ans,sum); 22 } 23 sum=num[2]; 24 for(int i=3;i<n;i+=2) 25 { 26 sum+=(num[i]+num[i+1]); 27 sum=max(sum,num[i+1]); 28 ans=max(ans,sum); 29 } 30 cout<<ans<<endl; 31 } 32 return 0; 33 }
最后那个宝石题,开局时候队友看了之后没思路不想做,导致全程只有我一个人写这题,当时觉得这题很水,就是魔力值更新就可以了,于是讲个队花听,队花不停恩哦恩哦,结果我发现自己不知道怎么不断更新,然后队花就去和主代码手继续聊BFS去了。手撸这题时候想用排序更新一下,希望数据比较弱水过去,结果WA了,55555555555....今天灵感突现用这种方法来循环更新,结果过了,蠢哭自己
1 #include <iostream> 2 #include<cstdio> 3 using namespace std; 4 #define maxn 100005 5 int a[maxn],b[maxn],c[maxn],AA[maxn]; 6 int main() 7 { 8 ios::sync_with_stdio(false); 9 int t,n,m; 10 cin>>t; 11 while(t--) 12 { 13 cin>>n>>m; 14 int flag=1; 15 for(int i=1; i<=n; i++) cin>>AA[i]; 16 for(int i=1; i<=m; i++) 17 { 18 cin>>a[i]>>b[i]>>c[i]; 19 AA[c[i]]=min(AA[c[i]], AA[a[i]]+ AA[b[i]]); 20 } 21 while(flag) 22 { 23 flag=0; 24 for(int i=1; i<=m; i++) 25 if(AA[c[i]]> AA[a[i]]+ AA[b[i]]) 26 { 27 flag=1; 28 AA[c[i]]= AA[a[i]]+ AA[b[i]]; 29 } 30 } 31 for(int i=1; i<=n; i++) printf("%d%c",AA[i],i==n?'\n':' '); 32 } 33 return 0; 34 }
赛后来波小结,毕竟贵圈的传统就是你做出来的题目就全是SB题。
热身赛B题英文题轻松翻译,但题意一边是没输入,一边是两个样例,什么鬼,导致被队友质疑英语水平,开局不利(PS:恩爱狗,热身赛时候两个人在那讲高数,笑声不断,可怜的我承担着AK热身赛题的任务)..正式比赛题意都很简单,主代码手想的都太复杂(还好前2个水题全程都是自己单撸A的),想的复杂的结果就是都没A掉,近乎打铁。数学题第一次没写出来,数学公式推导了半个小时,庞大的计算量,结果出来的公式错了,很伤,很影响士气。其他都不想说,这场比赛前的Codeforces等了快2周,本想趁机涨分,结果熬夜撸代码时候发现忘了报名没法提交.当天下午BNU校赛恰好时间撞车,不过见到格格本人也算一个额外惊喜吧。总之,一次不错的ACM比赛体验,下次会狠狠地再来...