zoukankan      html  css  js  c++  java
  • Codeforces 877C Slava and tanks(思维)

    题目链接:http://codeforces.com/problemset

    题目大意:有n个格子,某些格子里可能有一个或多个坦克,但不知道具体位置,每个坦克被轰炸一次就会移动到相邻的格子里(第1个格子只能往第2个格子移动,第n个格子只能往第n-1个格子移动),被轰炸两次就会报废,问最少需要轰炸几次才能保证所有坦克全部报废,请输出轰炸的位置。

    解题思路:其实就是先把1~n所有的偶数输出,再输出所有的奇数,再输出所有的偶数。因为通过题意可以知道我们需要让坦克出现在任意格子中都要被轰炸两次,才能保证摧毁所有坦克,也就是我们要轰炸每个格子,在每个被轰炸格子之后还要有两个相邻的格子被轰炸(1,n后只要一个),然后可以发现奇数的格子后需要两个偶数格子,偶数格子后需要一个奇数和一个偶数格子,所以得到规律按偶、奇、偶规律输出即可。

    代码:

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 const int N=1e5+5;
     6 
     7 int main(){
     8     int n;
     9     scanf("%d",&n);
    10     printf("%d
    ",n/2*2+(n-n/2));
    11     for(int i=2;i<=n;i+=2){
    12         printf("%d ",i);
    13     }
    14     for(int i=1;i<=n;i+=2){
    15         printf("%d ",i);
    16     }
    17     for(int i=2;i<=n;i+=2){
    18         printf("%d ",i);
    19     }
    20     return 0;
    21 }
  • 相关阅读:
    实验二 K-近邻算法及应用
    实验1 感知器及其应用
    实验三 面向对象分析与设计
    结构化分析与设计
    实验一 软件开发文档与工具的安装与使用
    ATM管理系统
    流程图与活动图的区别与联系
    四则运算
    实验四 决策树算法及应用
    实验三 朴素贝叶斯算法及应用
  • 原文地址:https://www.cnblogs.com/fu3638/p/7731989.html
Copyright © 2011-2022 走看看