(汲取经验)SCU2013多校联合赛
SCU's closet
及其恶心的一道水题,今天比赛看人家大牛几分钟1次AC,本来以为只是普通的签到题,结果比赛提交了接近20次,还是没能AC。。。事后通过与队友交流,按照B-A排序(我将所有可能情况都试过,就是没考虑这个),吸取教训
// File Name: b.cpp // Author: rudolf // Created Time: 2013年04月14日 星期日 12时42分22秒 #include<vector> #include<list> #include<map> #include<set> #include<deque> #include<stack> #include<bitset> #include<algorithm> #include<functional> #include<numeric> #include<utility> #include<sstream> #include<iostream> #include<iomanip> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<ctime> const int maxn=10005; using namespace std; struct node { int a,b; }; node bag[maxn]; /*int cmp(node a,node b) { return a.a>a.b; }*/ int cmp(const void *x,const void *y) { node *p1=(node*)x; node *p2=(node*)y; /* if(p1->b!=p2->b) return p1->b-p2->b; return p2->a-p1->a; */ return (p2->b-p2->a)<(p1->b-p1->a); } int main() { int v,n; int i; int flag,flat; while(cin>>v>>n) { int vi=v; flag=0; int sum=0; for(i=0;i<n;i++) cin>>bag[i].a>>bag[i].b; qsort(bag,n,sizeof(bag[0]),cmp); for(i=n-1;i>=0;i--) { if(bag[i].a>v||bag[i].b>v) { flag=1; break; } v-=bag[i].a; } if(flag) cout<<"NO"<<endl; else cout<<"YES"<<endl; } return 0; }
garlic and zombies
这也是一道恶心的水题,代码恶心,出题的人。。。算了,不说了,就是要考虑n=0的情况,其他的通过推算(数学题)// File Name: c.cpp // Author: rudolf // Created Time: 2013年04月14日 星期日 14时40分37秒 #include<vector> #include<list> #include<map> #include<set> #include<deque> #include<stack> #include<bitset> #include<algorithm> #include<functional> #include<numeric> #include<utility> #include<sstream> #include<iostream> #include<iomanip> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<ctime> using namespace std; int main() { int n; //cin>>n; double a,b; a=2; b=0; while(cin>>n) { if(n==0) printf("0.00 0.00 1.00 0.00 0.00\n"); else { if (n % 2==1) printf("0.00 0.50 0.00 0.50 0.00\n"); else printf("0.25 0.00 0.50 0.00 0.25\n"); } } return 0; }