zoukankan      html  css  js  c++  java
  • HNU 12906 Battleship

    题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12906

    解题报告:题目意思看了很久都没懂,就是一个10*10的方格,然后上面要放一些船,船的规格分别是1艘占4个格子的船,2艘占3个格子的,3艘占2  个格子的,4艘占一个格子的。然后输入是一个10*10的矩阵,数字都是1-100的数,数字表示将在哪个时刻会打到这个位置,当一艘船的每一个格子都被打中之后,这艘船就会下沉,要求两艘船之间不能相邻,然后让你求最复杂的船的排列方法,就是在这里,到底什么是最复杂的排列方法,真吭,原来就是要让你求这个矩阵上面要在最后才没有船的排列方法,这不就是只要在100那个位置一定要放船不就行了。

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<algorithm>
     5 using namespace std;
     6 
     7 int map[11][11];
     8 char ans[11][11],temp[11][11];
     9 
    10 int main()
    11 {
    12 //    freopen("in.txt","r",stdin);
    13     for(int i = 1;i <= 10;++i)
    14     for(int j = 1;j <= 10;++j)
    15     {
    16         scanf("%d",&map[i][j]);
    17         ans[i][j] = temp[i][j] = '.';
    18     }
    19     ans[1][1] = ans[1][3] = ans[1][5]  = '#';
    20     ans[2][1] = ans[2][2] = '#';
    21     ans[2][4] = ans[2][5] = '#';
    22     ans[2][7] = ans[2][8] = '#';
    23     ans[3][1] = ans[3][2] = ans[3][3] = '#';
    24     ans[3][5] = ans[3][6] = ans[3][7] = '#';
    25     ans[4][1] = ans[4][2] = ans[4][3] = ans[4][4] = '#';
    26     int x,y;
    27     for(int i = 1;i <= 10;++i)
    28     for(int j = 1;j <= 10;++j)
    29     if(map[i][j] == 100)
    30     {
    31         x = i,y = j;
    32         temp[i][j] = '#';
    33         break;
    34     }
    35     int f = 1;
    36     for(int i = (x&1)? 1:2;i <= 10;i+=2)
    37     if(abs(i-x) > 1)
    38     {
    39         for(int j = 1;j <= 10;++j)
    40         temp[i][j] = ans[f][j];
    41         f++;
    42         if(f > 4) break;
    43     }
    44     for(int i = 1;i <= 10;++i)
    45     {
    46         temp[i][11] = NULL;
    47         puts(temp[i]+1);
    48     }
    49     return 0;
    50 }
    View Code
  • 相关阅读:
    PHP项目学习1
    常见的几种单例模式
    CGlib和JDK动态代理
    jar打包方法使用整理
    JVM内存分配原理
    JDK环境变量配置目录jre,jvm
    android学习笔记13——ExpandableListView
    android学习笔记12——ListView、ListActivity
    android学习笔记11——ScrollView
    android学习笔记十——TabHost
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3919096.html
Copyright © 2011-2022 走看看