首页 > 代码库 > Codeforces Round #274 (Div. 2)

Codeforces Round #274 (Div. 2)

啊,绿了T T

A. Expression

CF万年不变的水题,a,b,c的顺序不能变,读错题当成是顺序可变,然后被Hack了。。( ̄_ ̄|||) 

 1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 #include<iostream> 5 #include<algorithm> 6 #include<set> 7 #include<map> 8 #include<stack> 9 #include<vector>10 #include<queue>11 #include<string>12 #include<sstream>13 #define eps 0.00000114 #define ALL(x) x.begin(),x.end()15 #define INS(x) inserter(x,x.begin())16 using namespace std;17 typedef long long LL;18 int i,j,k,n,m,x,y,T,ans,big,cas;19 bool flag;20 int main()21 {22     int a,b,c,ans=0,s[100];23     scanf("%d%d%d",&a,&b,&c);24     s[0]=(a+b)*c;25     s[1]=a*(b+c);26     //s[2]=(a+c)*b;27     s[2]=a*b+c;28     s[3]=a+b*c;29     //s[5]=a*c+b;30     s[4]=a*b*c;31     s[5]=a+b+c;32     for (i=0;i<=5;i++) ans=max(ans,s[i]);33     cout<<ans<<endl;34     return 0;35 }
View Code

B. Towers

 这道题是给出n个高为ai(ai个正方体)的塔,要求使通过k步移动,使得这些塔稳定,即最高的高度减去最小的高度,让这个数最小

显然就是每次把最高的塔拿出一个正方体然后放到最低的上边可以了。。。

一开始我还在想怎么样才能很快地得到最小值和最大值,最后发现,没有必要用map,每次操作完后在快排一下就可以了,还是自己⑨了

 1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 #include<iostream> 5 #include<algorithm> 6 #include<set> 7 #include<map> 8 #include<stack> 9 #include<vector>10 #include<queue>11 #include<string>12 #include<sstream>13 #define eps 0.00000114 #define ALL(x) x.begin(),x.end()15 #define INS(x) inserter(x,x.begin())16 using namespace std;17 typedef long long LL;18 struct node19 {20     int w,i;21     bool operator <(const node &b) const22     {23         return w<b.w;24     }25 };26 int i,j,k,n,m,x,y,T,big,cas,ans[1005][2],step;27 node a[1005];28 bool flag;29 int main()30 {31     scanf("%d%d",&n,&k);32     for (i=0;i<n;i++) 33     {34         cin>>a[i].w;35         a[i].i=i+1;36     }37     sort(a,a+n);38     while (1)39     {40         if (a[n-1].w-a[0].w<=1) break;41         a[n-1].w--;42         a[0].w++;43         44         step++;45         ans[step][0]=a[n-1].i;46         ans[step][1]=a[0].i;47         sort(a,a+n);48         if (step==k) break;49     }50     cout<<a[n-1].w-a[0].w<<" "<<step<<endl;51     for (i=1;i<=step;i++) cout<<ans[i][0]<<" "<<ans[i][1]<<endl; 52         53     return 0;54 }
View Code

C. Exams

D. Long Jumps

E. Riding in a Lift

困。。。这几道题明天再更

Codeforces Round #274 (Div. 2)