UVaOJ 10189 - Minesweeper
来源:互联网 发布:淘宝店铺怎么管理 编辑:程序博客网 时间:2024/04/26 01:57
这个题目也是先在Programming Challenges先用JAVA写的,然后很久都没能AC(原因不详)。后来学C++,就写了一个C++版的。
1005024410189MinesweeperAcceptedC++0.0122012-04-29 01:11:25我这里用了设置初始大小的2维vector,当时还是第一次用。对vector基本上没概念,书上还是教的用指针和new来写动态数组。另外我把'*'的值设置为了10,用来和其他空的位置区分开来,因为最大雷数也只能到达8。
#include <iostream>#include <string>#include <vector>int main(){using namespace std;int f = 0;while(true){f++;int x;int y;cin >>x>>y;if (x==0 || y==0)break;vector<vector<int> >mn(x,vector<int>(y));for (int i=0;i<x;i++){for (int j=0;j<y;j++){char temp;cin>>temp;if (temp == '*')mn[i][j] = 10;elsemn[i][j] = 0;}}int ya[] = {-1,0,1,1,1,0,-1,-1}; //reversed i guessint xa[] = {-1,-1,-1,0,1,1,1,0};for (int i=0;i<x;i++){for (int j=0;j<y;j++){if (mn[i][j]>=7){for (int p = 0; p< 8; p++){if (i+xa[p]>=0 && i+xa[p]< x && j+ya[p] >=0 && j+ya[p] < y){mn[i+xa[p]][j+ya[p]] ++;}}}}}if (f>1)cout<<'\n';cout<<"Field #"<<f<<":"<<endl;for (int i=0;i<x;i++){for (int j=0;j<y;j++){if (mn[i][j] < 10)cout<<mn[i][j];elsecout<<'*';}cout<<endl;}}}
- UVaOJ 10189 - Minesweeper
- 10189 - Minesweeper
- 10189 - Minesweeper
- 10189 - Minesweeper
- Uva 10189 - Minesweeper
- uva 10189 - Minesweeper
- UVa 10189 - Minesweeper
- uva 10189 - Minesweeper
- uva 10189 Minesweeper
- vua 10189 Minesweeper
- UVa 10189 Minesweeper (模拟)
- UVa 10189 Minesweeper
- UVa 10189 Minesweeper
- UVa 10189 - Minesweeper
- uva Minesweeper 10189
- uva 10189 Minesweeper
- UVA 10189 Minesweeper
- UVA 10189 -Minesweeper
- 删除所有用户表
- mssql 行转列
- mssql全文检索CONTAINS的用法.
- mssql 高难度行转列
- mssql 提高性能 - 分区表
- UVaOJ 10189 - Minesweeper
- UVa OJ 10267Graphical Editor
- UVaOJ 10196 - Check The Check
- UVaOJ 122 - Trees on the level
- js判断文字长度(区分中文及英文)
- Log4j使用指南
- 关于内存的思考
- UVa OJ 127 - "Accordian" Patience
- Oracle10g数据文件的收缩与数据对象跨表空间的迁移