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+输出路径)