Codeforces 839B (implement)
来源:互联网 发布:手机淘宝如何退换货物 编辑:程序博客网 时间:2024/06/11 20:48
累心的模拟题:
附上几个特殊样例:
3 102 2 2 2 2 2 2 2 2 3YES3 122 2 2 2 2 2 2 2 2 1 1 1YES2 82 2 2 2 2 2 1 1YES1 41 1 2 2YES1 42 2 2 2NO
代码:
/** 201708016*/#include <cstdio>#include <algorithm>#include <cstring>using namespace std;int main(){ int n,k; scanf("%d%d",&n,&k); int numf = n; int numt = n*2; int numo = 0; for(int i=0;i<k;i++) { int t; scanf("%d",&t); int a = t/4; int b = t%4; if(a>numf) { a-=numf; numf=0; //leave = b b += a*4; int c = b/2; int d = b%2; if(c>numt) { c-=numt; numt=0; //leave = d d+=c*2; if(d>numo) { printf("NO\n"); return 0; }else { numo-=d; } }else { numt-=c; if(d==1) { if(numo>0) numo--; else if(numt>0){ numt--; }else{ printf("NO\n"); return 0; } } } }else { numf-=a; if(b==3) { if(numo>2) numo-=3; else if(numt>0&&numo>0){ numt--; numo--; }else if(numf>0) numf--; else if(numt>1) numt-=2; else{ printf("NO\n"); return 0; } }else if(b==2) { if(numt>0) numt--; else if(numf>0) { numf--; numo++; }else if(numo>1) numo-=2; else if(numo>0&&numf>0) { numo--; numf--; numt++; }else{ printf("NO\n"); return 0; } }else if(b==1){ if(numo>0) numo--; else if(numf>0){ numf--; numt++; }else if(numt>0) numt--; else { printf("NO\n"); return 0; } } } } printf("YES\n"); return 0;}
阅读全文
0 0
- Codeforces 839B (implement)
- Codeforces 879B (implement)
- Codeforces 839B
- codeforces 839B(模拟)
- codeforces B
- codeforces B
- codeforces B
- codeforces B
- codeforces 839 B Game of the Rows
- Codeforces 839B-Game of the Rows
- CodeForces 626B CodeForces 626B【暴力】
- CodeForces 841B (B) 博弈
- codeforces 134B
- codeforces#98 b
- codeforces 105 div2 B
- Codeforces 166B - Polygons
- codeforces B. Coins
- codeforces----193B Xor
- tmux快捷键
- python install packages
- 找到三角网格中的孔洞
- java的8种基本数据类型和对应的包装类
- 二叉树的遍历和重建
- Codeforces 839B (implement)
- 安装samba后在init.d文件夹没有smb
- tf.nn.conv2d函数讲解
- git学习笔记整理-9-Git如何存数据及分支简介
- 图形学领域的关键算法及源码链接[转]
- cookie and session
- java中Collections方法
- mybatis框架总体说明---Mybatis学习笔记(二)
- C# Enum,Int,String的互相转换