Codeforces Round #366 (Div. 2) A 【水题】& B【博弈】 & C 【思维】
来源:互联网 发布:silverlight mac 卸载 编辑:程序博客网 时间:2024/06/16 18:34
Codeforces Round #366 (Div. 2) A & B & C 【模拟】
A. Hulk
题目链接:http://codeforces.com/contest/705/problem/A
题意:根据给的n奇偶性输出 “hate” 和 “love”
#include <cstdio>using namespace std;int n;int main(){ while(~scanf("%d",&n)){ for(int i=1;i<=n;i++){ if(i%2)printf("I hate "); else printf("I love "); if(i!=n) printf(" that "); } printf("it\n"); } return 0;}
B. Spider Man【博弈论:先手赢】
题目链接:http://codeforces.com/contest/705/problem/B
题意: 两个人玩分圈的游戏,有n个圈,每个圈有m个点,每次你都可以对 点数m>1 的圈分成(m-x,x),若最后的圈都为1了轮到的这个人就不能动了,另外一个人赢了。
题解: 每个圈m 都可以分m-1,把n个圈的分次数加起来得到和sum,再对其做奇偶处理
#include <cstdio>using namespace std;typedef long long LL;int n,m,k,t;int main(){ while(~scanf("%d",&n)){ LL sum = 0; for(int i=1;i<=n;i++){ scanf("%d",&m); sum+=m-1; if(sum%2)printf("1\n"); else printf("2\n"); } } return 0;}
C. Thor【思维题】
题目链接:
题意:
手机里面n个消息,接下来 q个命令:【x y】
x==1 表示应用y生成了一个消息
x==2 读出了所有的由应用y产生的消息
x==3 读了前y个消息【注意:可能读了已读的消息,重复】
每次询问后 求手机里面未读的个数number
题解:按题意操作,主要是a为2、3时,两重for WA test4数据为300000 TLE:
应用y所产生的未读消息 a[y]
表示标记顺序状态 yi[y]
x==2,要标记状态yi[y] 并清空 所有应用y所产生的 未读 消息 a[y] = 0;
x==3,循环当前的y个数并判断其中有已读否的消息,此时可以剪下枝
再处理未读的消息就好
#include <algorithm>#include <iostream>#include <cstring>#include <cstdio>#include <cmath>using namespace std;#define me(x) memset(x,0,sizeof(x));typedef long long LL;const int maxn = 400000;int n,m,q;int a[maxn];//未读 由应用y产生的消息个数int b[maxn];int yi[maxn];int main(){ while(~scanf("%d%d",&n,&q)){ me(a); me(b); me(yi);// 标记yi[]=0为未读状态 int num = 0;//未读消息个数 int j = 1; int i = 0;//消息总个数 while(q--){ int x,y; scanf("%d %d",&x,&y); if(x==1){ a[y]++; num++; b[++i] = y;// 顺序 }else if(x==2){ yi[y] = i;// 标记,已读数y的顺序 num -= a[y]; a[y] = 0; }else if(x==3){ for(; j<=y ; j++){ if(yi[ b[j] ] < j){ //判断是否已读 a[b[j]]--; num--; } } } printf("%d\n",num); } } return 0;}
0 0
- Codeforces Round #366 (Div. 2) A 【水题】& B【博弈】 & C 【思维】
- Codeforces Round #368 (Div. 2) A(水题) B(枚举 思维) C(数论 勾股数)
- Codeforces Round #384 (Div. 2) (A+B)(思维)
- Codeforces Round #418 (Div. 2) A+B(思维)
- Codeforces Round #447 (Div. 2) B C 思维
- Codeforces Round #406 (Div. 2) C 博弈
- Codeforces Round #365 (Div. 2) (705A,705B(博弈),704A)
- Codeforces Beta Round #95 (Div. 2) A B C E
- 【CodeForce】Codeforces Round #140 (Div. 2) A B C
- 【CodeForce】Codeforces Round #142 (Div. 2) A B C
- Codeforces Round #160 (Div. 2)——A,B,C
- Codeforces Round #177 (Div. 2)——A,B,C
- Codeforces Round #179 (Div. 2)A、B、C、D
- Codeforces Round #184 (Div. 2)——A,B,C
- Codeforces Round #185 (Div. 2)——A,B,C
- Codeforces Round #186 (Div. 2)——A,B,C
- Codeforces Round #186 (Div. 2)A、B、C、D、E
- Codeforces Round #190 (Div. 2) A B C
- 初始spring(八)
- @Override is not allowed when implementing interface method
- 抽奖程序 C/C++
- linux下的$含义
- 改变PageControl指示点的颜色
- Codeforces Round #366 (Div. 2) A 【水题】& B【博弈】 & C 【思维】
- .net mvc3 三层架构的数据库连接问题 源代码
- spring mvc 图片上传
- POJ2479 Maximum sum
- 关于苹果手机页面中字体大小显示不正确的问题
- NYOJ 1057 寻找最大数(三)贪心算法
- Java的类
- C#控制台基础 string字符串的连接
- Assertion failure in -[UITableView _dequeueReusableViewOfType:withIdentifier:], /BuildRoot/Library/C