Educational Codeforces Round 27
来源:互联网 发布:手机时钟同步软件 编辑:程序博客网 时间:2024/06/14 05:37
http://codeforces.com/contest/845 22号做的。
待补。
一个D模拟。
一个G ,图论和思维。都挺难的qwq
A. Chess Tourney
给定m个人,问你能不能分成两半。其中一组的分数均小于另一组。
sort就行,看第m-1和第m个人是不是相等。是就不能,否则就能
#include <bits/stdc++.h>using namespace std;const int maxn=2002;int main(){ int m; int a[maxn]; scanf("%d",&m); for(int i=0;i<2*m;i++){ scanf("%d",&a[i]); } sort(a,a+2*m); if(a[m-1]<a[m]) puts("YES"); else puts("NO"); return 0;}
2 模拟,给定6个数字,问你最少的操作能够让前面三个的和等于后面三个的和。
直接暴力就行。枚举9*9*9*9*9*9这么多种状态。。。
但是思路错了,我觉得总共有四种情况。
我的想法是计算 他们的差值。
总共四种情况。
前三和 后三 先比较谁大
然后 分为两种情况 1 多的数减,减的数 加。
找极值。。。
没有想到错误的例子,比如说多的减,同时少的加。。。这样动态一点。
大致 两种方法
① 枚举9*9*9*9*9*9 这么多情况。
② 多的肯定不会加,少的肯定不会减,
然后判断就行了。
#include <bits/stdc++.h>/* 错误的思路。我的想法是计算 他们的差值。 总共四种情况。 前三和 后三 谁赢了算一种 然后 分为两种情况 1 多的数减,减的数 加。 找极值。 没有想到错误的例子,多的减,同时少的加。。大致 两种方法① 枚举9*9*9*9*9*9 这么多情况。② 多的肯定不会加,少的肯定不会减。然后判断就行了。*/using namespace std;int main(){ int t; int a[6]; int sum1=0; int sum2=0; int ans=0; for(int i=0;i<6;i++){ scanf("%1d",&a[i]); if(i>=0&&i<=2) sum1+=a[i]; else sum2+=a[i]; } if(sum1>sum2){ for(int i=3;i<=5;i++){ a[i]=9-a[i]; } sort(a,a+6); int all=sum1-sum2; ans=0; for(int i=5;i>=0;i--){ if(all<=0)break; all-=a[i]; ans++; } }else { for(int i=0;i<=2;i++){ a[i]=9-a[i]; } sort(a,a+6); int all=sum2-sum1; ans=0; for(int i=5;i>=0;i--){ if(all<=0)break; all-=a[i]; ans++; } } printf("%d\n",ans); return 0;}
C - Two TVs
没什么意思啊!!按照题意模拟就行。
两个电视。放置的时候不能有相等。
#include <bits/stdc++.h>using namespace std;const int maxn=2002;int main(){ int t,a,b; vector<pair<int,int> >q; scanf("%d",&t); for(int i=0;i<t;i++){ scanf("%d%d",&a,&b); q.push_back(make_pair(a,b)); } sort(q.begin(),q.end()); priority_queue<int>q1; priority_queue<int>q2; bool flag1=false; for(int i=0;i<q.size();i++){ flag1=false; if(q1.empty()||(q[i].first>q1.top())){ q1.push(q[i].second); flag1=true; } else if(q2.empty()||(!flag1&&q[i].first>q2.top())){ q2.push(q[i].second); flag1=true; } if(!flag1) break; } if(!flag1) puts("NO"); else puts("YES"); return 0;}
阅读全文
0 0
- Educational Codeforces Round 27
- Educational Codeforces Round 27
- Educational Codeforces Round 27
- Codeforces Educational Codeforces Round 27
- Codeforces Educational Codeforces Round 27
- Codeforces Educational Codeforces Round 27
- Codeforces Educational Codeforces Round 27
- Educational Codeforces Round 27 ABCD
- Educational Codeforces Round 27 (ABC)
- Codeforces Educational Round 27 总结
- A. Chess Tourney【Educational Codeforces Round 27】
- Educational Codeforces Round 27- D Driving Test
- Educational Codeforces Round 1
- Educational Codeforces Round 2
- Educational Codeforces Round 2
- Educational Codeforces Round 2
- Educational Codeforces Round 3
- Codeforces Educational Round 3
- String和CharSequence的区别
- HDU-2017 多校训练赛8-1006-Fleet of the Eternal Throne
- Android开源图表库XCL-Charts版本发布及展示页
- 浅谈Java中的System.gc()的工作原理
- 剑指offer-和为s的数列
- Educational Codeforces Round 27
- AndroidManifest
- ccf 201703 4-地铁修建(100分)
- Objective
- Count the Colors -----超详细的线段树的区间染色题解(线段树原来操作可以这么骚Q&_&Q)
- NYOJ 837-Wythoff Game
- JavaMail给本地邮箱发邮件
- 直线检测研究
- Leetcode练习<二十>判断括号的有效性