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 }

HNU 12906 Battleship

时间: 2024-08-06 09:27:23

HNU 12906 Battleship的相关文章

贪心 --- HNU 13320 Please, go first

Please, go first Problem's Link: http://acm.hnu.cn/online/?action=problem&type=show&id=13320 Mean: n个人一起去滑雪,要坐电梯到山顶,电梯每5分钟可以送一个人上去.这n个人中有的是组好团一起滑雪的,所以要等到齐了才能开始滑. 但是他们到达电梯下的时间都不是统一的,对于单独一个人来说,他在山下等和在山上等的时间都是一样的. 但是对于n个人的集体来说,如果让他后面的人先上去,这样可能会更节省时间.

HNU 12885 Bad Signal(模拟)

题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12885&courseid=274 解题报告:一共有n个发射装置,有一个接收装置,接收装置能够正确接收并把接收到的信号准确的译码出来的条件是: Ti > 6 * (B +(T1 + T2 + .... Ti-1 + Ti+1.....Tn)) 然后Ti = si / (Pi - p) si是信号强度 pi - p的意思是发射器跟接收器之间的直线距离的平方 暴

Python Codecademy 9单元Battleship!

from random import randint #引入随机函数 board = [] #建一个空的list for x in range(5): board.append(["O"] * 5) #用range()方法给list写值,每一个["0"]*5是item def print_board(board): for row in board: print " ".join(row) #输出list,去掉引号和括号,用空格连接 print

HNU 12888 Encryption(map容器)

题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12890&courseid=274 解题报告:输入一个有n个单词的句子,然后再输入这n个单词对应的意思是什么,要你翻译出这个句子最后是什么. 一个裸的map 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm>

暴力枚举 + 24点 --- hnu : Cracking the Safe

Cracking the Safe Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 46, Accepted users: 12 Problem 12886 : No special judgement Problem description Secret agent Roger is trying to crack a safe containing evil Syr

HNU 12886 Cracking the Safe(暴力枚举)

题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12886&courseid=274 解题报告:输入4个数,要你判断用 + .- . * ./.四种运算能不能得到一个结果为24的式子,可以用括号. 解释一下测试的第四组样例:应该是6 / (1 - 3 / 4) 暴力枚举三种符号分别是什么,然后枚举这三种符号运算的顺序,然后枚举这四个数字的24种排列方式,时间是4^3 * 6 * 24 然后注意要用double型,

HNU OJ10086 挤挤更健康 记忆化搜索DP

挤挤更健康 Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 339, Accepted users: 216 Problem 10086 : No special judgement Problem description 用边长小于N的正方形方砖(注意,不要求所有的方砖大小相同,请看样例说明)不重叠地铺满N*N的正方形房间,最少要几块方砖. Input 第一行是一个整

三分 - HNU 13409 Flowers

Flowers Problem's Link: http://acm.hnu.cn/online/?action=problem&type=show&id=13409&courseid=0 Mean: 有N颗种子,每颗种子初始时营养值为0.当一颗种子营养值达到th后就会开花. 有两种操作: 1.给所有的种子浇w升水: 2.给某个种子施f升肥: 对于第i颗种子,每浇1升水会增加vw点营养值,每施1升肥可以增加vf点营养值,该种种子的肥料单价为pf,当营养值达到th后开花. 浇水必须一

dp - HNU 13404 The Imp

The Imp Problem's Link: http://acm.hnu.cn/online/?action=problem&type=show&id=13404&courseid=0 Mean: n个物品,每个物品价值为v,价格为c,你只可以带一个物品离开. 有一个精灵,它可以施法让你购买后的物品价值变为0(未离开商店之前),精灵最多施k次法术. 你的目的是让自己获得最大收益,而小鬼的目的正好相反.如果你和精灵都采用最优策略,最后你可以盈利多少? analyse: 第一感觉是