您的位置:首页 > 编程语言 > C语言/C++

(汲取经验)SCU2013多校联合赛

2013-04-14 22:04 260 查看

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息