标签:
省赛热身,一道水题
n个数,n<=10,每次取出最大数和最小数,然后把这两个数替换为max-min,直到最后相等的时候,输出剩余的那一个数,如果不可能,输出Nooooooo!
开始我认为,这个问题每次回减小一个数或者消掉一个数,永远不可能发生循环,用想借助multiset的自动排序,来快速完成,结果就挂在了这上面,一直卡在这道题
1wa之后,我考虑什么时候是不可能的,然后hash,map套multiset,将n个数都搞成七位数,判重,都没过,然后心态炸了
赛后,我用数组模拟了一发1a,就是一个一年级新手的水题
/*************************************************************************** * Author : 枫叶 * Last modified : 2016-05-03 09:35 * Filename : * Description : **************************************************************************/ #include<bits/stdc++.h> using namespace std; const int maxn=1e5+5; const int INF=0x3f3f3f3f; typedef long long ll; typedef unsigned long long ull; int t,n; int d[15]; bool judge(){ return d[0]==d[n-1]?false:true; } int main(){ cin>>t; while(t--){ cin>>n; for(int i=0;i<n;i++) cin>>d[i]; sort(d,d+n); while(judge()){ int c=d[n-1]-d[0]; d[0]=d[n-1]=c; sort(d,d+n); } cout<<d[0]<<endl; } return 0; }
省赛我和一个学长 学姐组一队,学长回家,没有参加训练,我们队只有两个人,学姐代码能力不强,主要责任应该落在我身上,写程序的时候呀却缺少变通,浪费了大量的时间,心态炸了,到最后也没有做其他的题目,
这个问必须重视起来,幸好问题不是出现在赛场上
标签:
原文地址:http://www.cnblogs.com/jihe/p/5453913.html