Codeforces Round #249 (Div. 2) A B C
http://codeforces.com/contest/435
代码均已投放:https://github.com/illuz/WayToACM/tree/master/CodeForces/435
题目地址
题意:
给出n组人的人数在排队等公交,每辆公交最多坐m人。
一定是按队列顺序坐,如果能坐上去尽量坐上去,坐不上去就等下一辆。
分析:
直接模拟即可。
代码:
/** Author: illuz <iilluzen>* File: a.cpp* Create Date: 2014-05-30 23:32:27* Descripton: */#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N = 110;int n, m, a[N];int main(){ cin >> n >> m; for (int i = 0; i > a[i]; } int i = 0, cnt = 0; while (i = a[i] && i <br> <br> <p></p> <p class="sycode"> </p> <h2> 435B - Pasha Maximizes</h2> <p> 题目地址</p> <p> 题意: <br> 给出n个数,要求最多相邻交换k次,求能产生的最大值。</p> <p> 分析: <br> 贪心。我们是为了让数尽量大,所以我们尽量让前面的数尽量大。 <br> 考虑第i位,假设前面的数都以及是尽可能大了,那它要变最大,就要找后面在可能交换过来的范围内最大的那个数,然后模拟交换过来就行了。 <br> 这样我们只要从第一位模拟过去就行了。</p> <p> ps:我的这个代码只能用vc过...一直都用的g++,赛后fst我都惊呆了,发现出错的样例我在本地是跑得过的...(本地g++版本是4.8,cf上的是4.7,wa的输入是`219810011901120912 100`,哪位能告诉我这俩版本为什么有区别)【Bug fixed~】</p> <p> 代码:</p> <p> </p> <pre name="code" class="sycode">/** Author: illuz <iilluzen>* File: b.cpp* Create Date: 2014-05-30 23:40:23* Descripton: Bug fixed.*/#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 20;int k, len;char a[N];void boo() { for (int i = 0; i a[p]) { p = i + j; } } if (a[p] == a[i]) { // 如果一样大就没意义了 continue; } for (int j = p; j > i; j--) swap(a[j], a[j - 1]); k -= p - i; if (k <br> <br> <p></p> <p class="sycode"> </p> <h2> 435C - Cardiogram</h2> <p> 题目地址</p> <p> 题意: <br> 几乎不用看题目,只要看样例就能发现,就是求一些数,奇数上升,偶数下降,把图画出来就行了。</p> <p> 分析: <br> 纯模拟。 <br> 由于It is guaranteed that the sum of all ai doesn't exceed 1000,也就是我们不需要担心会开不下数组。 <br> 直接开一个2000*1000的数组,刚开始把1000作为初始的x轴,然后模拟,并记录上下界。 <br> 刚开始没发现每行后面还要补空格,给wa了俩TAT.</p> <p> 代码:</p> <p> </p> <pre name="code" class="sycode">/** Author: illuz <iilluzen>* File: c.cpp* Create Date: 2014-05-31 00:22:36* Descripton: */#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 1010;int n, a, cx, cy, num[N * 2], up, down;char m[N * 2][N];int main(){ scanf("%d", &n); cx = N; cy = 0; up = down = N; for (int i = 0; i <br> <br> <p></p> </algorithm></cstring></cstdio></iilluzen>