Codeforces Round #298 (Div. 2) D. Handshakes(贪心)
来源:互联网 发布:linux session数量 编辑:程序博客网 时间:2024/06/05 18:16
题目:
http://codeforces.com/contest/534/problem/D
好水的D题=.=
vecotr大法,加递推.
AC.
#include <iostream>#include <cstdio>#include <vector>using namespace std;const int maxn = 2e5+5;vector<int> v[maxn];int ans[maxn];int main(){//freopen("in", "r", stdin); int n; while(~scanf("%d", &n)) { for(int i = 0; i < n; ++i) v[i].clear(); for(int i = 1; i <= n; ++i) { int a; scanf("%d", &a); v[a].push_back(i); } int cnt = 0, s = 0; while(1) { int tmp = s; if(v[cnt].size()) { ans[s++] = v[cnt][v[cnt].size()-1]; v[cnt].pop_back(); cnt++; } else if(cnt - 3 >= 0) { while(v[cnt].empty()) cnt -= 3; if(cnt >= 0 && v[cnt].size()) { ans[s++] = v[cnt][v[cnt].size()-1]; v[cnt].pop_back(); cnt++; } } //printf("%d %d\n", cnt, ans[s-1]); if(tmp == s || s == n || cnt < 0) break; } if(s == n) { printf("Possible\n"); printf("%d", ans[0]); for(int i = 1; i < s; ++i) { printf(" %d", ans[i]); } printf("\n"); } else printf("Impossible\n"); } return 0;}
0 0
- Codeforces Round #298 (Div. 2) D. Handshakes(贪心)
- Codeforces Round #298 (Div. 2) D. Handshakes(贪心)
- Codeforces Round #298 (Div. 2) D. Handshakes
- Codeforces Round #298 (Div. 2) D. Handshakes 二分
- 534D.Handshakes(Codeforces Round #298(div2))
- #298 (div.2) D. Handshakes
- Codeforces 534D Handshakes(贪心)
- 【Codeforces 534D】【贪心】Handshakes
- Codeforces 534D Handshakes【贪心】
- 【贪心】Codeforces Round #339 (Div. 2) D
- Codeforces Round #351 Div. 2 D 贪心
- Codeforces Round #303 (Div. 2) D 贪心
- Codeforces Round #378 (Div. 2) D 贪心
- codeforces #298 D. Handshakes
- Codeforces 534D - Handshakes (贪心 + 模拟)
- CodeForces 534D Handshakes 【STL】+【贪心】
- Hot Days Codeforces Round #132 (Div. 2) D(贪心)
- Codeforces Round #276 (Div. 2)(C贪心,D)
- 杭电 HDU ACM 1087 Super Jumping! Jumping! Jumping!
- shell脚本中的一些特殊符号
- 序列化的作用,应用场景,除了网路传输
- java性能优化二
- gcc - shared library vs static library
- Codeforces Round #298 (Div. 2) D. Handshakes(贪心)
- 在IDE环境中,JavaScript Validator错误 ,解决办法!
- SDOI2015 R1 酱油记
- linux共享文件windows访问-samba安装配置
- C++文件操作详解(ifstream、ofstream、fstream)
- vim技巧1
- Java基础-集合
- js 函数定义的三种方式以及匿名的自执行函数定义方式和常见的错误写法
- Implement strStr()--LeetCode