Codeforces Round #442 (Div. 2) C. Slava and tanks

Posted Kearon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #442 (Div. 2) C. Slava and tanks相关的知识,希望对你有一定的参考价值。

题意:有n个格子,每个格子里有坦克,坦克有两滴血,你像格子里投掷炸弹,每次命中坦克他掉一滴血并随机像左或者右移动一个格子,问最少炸几次能把全部坦克炸完。

题解:先向偶数格子投掷炸弹,所以的坦克全跑到奇数格子里,然后再向奇数格子里投掷炸弹,消灭掉之前偶数格子里的坦克并且所以的坦克全跑到偶数格子里,再向偶数格子投掷炸弹,消灭所以坦克。

次数为n+(int)n/2;

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 vector<int> v;
 4 int main()
 5 {
 6     int n;
 7     cin>>n;
 8     for(int i=2;i<=n;i+=2)
 9         v.push_back(i);
10     for(int i=1;i<=n;i+=2)
11         v.push_back(i);
12     for(int i=2;i<=n;i+=2)
13         v.push_back(i);
14     cout<<v.size()<<endl;
15     for(auto it=v.begin();it!=v.end();++it)
16         cout<<*it<< ;
17     cout<<endl;
18 }

 

以上是关于Codeforces Round #442 (Div. 2) C. Slava and tanks的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #442 (Div. 2) B. Nikita and string

Codeforces Round #442 (Div. 2) C. Slava and tanks

Codeforces Round #442 (Div. 2) 877E - Danil and a Part-time Job dfs序+线段树

Codeforces Round #436 E. Fire(背包dp+输出路径)

[ACM]Codeforces Round #534 (Div. 2)

Codeforces_442_A