2015苏州大学ACM-ICPC集训队选拔赛(2)1002

草爷要的雷

Problem Description

扫雷一直是风靡实验室的重要娱乐游戏,在赛前赛后、刷题疲惫的时候,扫一局雷经常可以让队员们感受到身心的振奋,毕竟,劳逸结合刷题,防猝死才是硬道理。
但是我的运气总是太差,关键时刻二选一总是会点到雷,果然扫雷也是看脸的游戏。被炸得神志不清的时候,我已经完全没有办法区分哪些格子是雷了,只能随机点格子了,所以请你们帮我算一下我点下去被雷炸的概率,谢啦~
当然,在给出的扫雷图中,我点开了一个数字格以及它周围的若干格(周围是指与那一个格子共享一条边或一个顶点的格子,周围的格子没有被全部点开),并且我接下来一步只会点这个数字周围没有点开的格子;

扫雷部分规则:
每个格子点开只可能是数字、空格子、雷。
标有数字的格子上,数字表示它周围的格子中一共有的雷总数。

Input

多组输入(<=1000),请读到文件结尾;
每组数据第一行是两个整数n和m(2<=n,m<=10),表示扫雷图的行数和列数;
接下来n行,每行m个字符表示这个扫雷图的每一行。
图中‘*‘表示没有点开的格子,‘.‘表示数字周围且已经点开的格子(代表数字或空格子),以及一个数字(1~8)。
保证数字只有一个,它周围剩余的没有点开的格子数大于等于数字的值(即保证输入扫雷图的合法),‘.‘只出现在数字周围。

Output

对于每组数据输出一个最简分数,表示下一步点开数字格子周围的某个还未被点开的格子时,该格子是雷的概率(若概率为1,输出1/1)。
每组数据占一行

Sample Input

3 3
**.
.3.
***
4 5
*****
***.*
**.2.
**...

Sample Output

3/5
1/1

Author

奚政

还是一道比较水的题目,我这里是用一个二维数组做一个棋盘,二维字符做棋子,这样清空数组就简单一点

#include<stdio.h>
//#include<bits/stdc++.h>
#include<string.h>
#include<iostream>
#include<math.h>
#include<sstream>
#include<set>
#include<queue>
#include<map>
#include<vector>
#include<algorithm>
#include<limits.h>
#define inf 0x3fffffff
#define INF 0x3f3f3f3f
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define ULL unsigned long long
using namespace std;
char s[100][100];
int a[100][100];
int i,j;
int n,m;
int main ()
{
    int x,y;
    int I,J;
    while(cin>>n>>m)
    {
        memset(a,0,sizeof(a));
        int sum=0;
        int ans;
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=m;j++)
            {
               cin>>s[i][j];
               if(s[i][j]==‘*‘)
               {
                   a[i][j]=1;
               }
               if(s[i][j]==‘.‘)
               {
                   a[i][j]=2;
               }
               else if(s[i][j]>=‘1‘&&s[i][j]<=‘8‘)
               {
                   a[i][j]=3;
                   ans=s[i][j]-‘0‘;
                   x=i;
                   y=j;
               }
            }
        }
        for(I=x-1;I<=x+1;I++)
        {
            for(J=y-1;J<=y+1;J++)
            {
                if(a[I][J]==1)
                {
                    sum++;
                }
           //     cout<<a[I][J];
            }
          //  cout<<endl;
        }
     //   cout<<sum<<endl;
        cout<<ans/__gcd(sum,ans)<<"/"<<sum/__gcd(sum,ans)<<endl;
    }
    return 0;
}
时间: 2024-10-15 05:39:37

2015苏州大学ACM-ICPC集训队选拔赛(2)1002的相关文章

(并查集)Travel -- hdu -- 5441(2015 ACM/ICPC Asia Regional Changchun Online )

http://acm.hdu.edu.cn/showproblem.php?pid=5441 Travel Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 2061    Accepted Submission(s): 711 Problem Description Jack likes to travel around the wo

2015 ACM/ICPC Asia Regional Changchun Online HDU 5444 Elven Postman【二叉排序树的建树和遍历查找】

Elven Postman Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 591    Accepted Submission(s): 329 Problem Description Elves are very peculiar creatures. As we all know, they can live for a very

【题解】 2015 ACM/ICPC Asia Regional Shenyang Online

[1006] FangFang (暴力枚举) Fang Fang Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 871    Accepted Submission(s): 364 Problem Description Fang Fang says she wants to be remembered. I promise her.

2016 ACM/ICPC Asia Regional Dalian Online 1002/HDU 5869

Different GCD Subarray Query Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 681    Accepted Submission(s): 240 Problem Description This is a simple problem. The teacher gives Bob a list of prob

《ACM/ICPC 算法训练教程》读书笔记一之数据结构(堆)

书籍简评:<ACM/ICPC 算法训练教程>这本书是余立功主编的,代码来自南京理工大学ACM集训队代码库,所以小编看过之后发现确实很实用,适合集训的时候刷题啊~~,当时是听了集训队final的意见买的,感觉还是不错滴. 相对于其他ACM书籍来说,当然如书名所言,这是一本算法训练书,有着大量的算法实战题目和代码,尽管小编还是发现了些许错误= =,有部分注释的语序习惯也有点不太合我的胃口.实战题目较多是比较水的题,但也正因此才能帮助不少新手入门,个人认为还是一本不错的算法书,当然自学还是需要下不少

【转】ACM/ICPC生涯总结暨退役宣言—alpc55

转自:http://hi.baidu.com/accplaystation/item/ca4c2ec565fa0b7fced4f811 ACM/ICPC生涯总结暨退役宣言—alpc55 前言 早就该写这篇文章了,但是也很不想去写.毕竟是为之奋斗了两年的目标,不是说舍得就舍得的.然而,自己毕竟是到了该退的时候了,与其扭扭捏捏,不如挥一挥衣袖,尚落得一份潇洒.回首这两年来,有很多是需要总结的.在这里不分巨细的记录下来,或许有点像流水账,但是更多的,是一份对过去的难忘. 童年 我的ACM/ICPC的生

2014 ACM/ICPC Asia Regional Guangzhou Online Wang Xifeng&#39;s Little Plot HDU5024

一道好枚举+模拟题目.转换思维视角 这道题是我做的,规模不大N<=100,以为正常DFS搜索,于是傻乎乎的写了起来.各种条件限制模拟过程 但仔细一分析发现对每个点进行全部八个方向的遍历100X100X100^8 .100X100个点,每个点在走的时候8中选择,TLE 于是改为另一个角度: 以符合要求的点为拐弯点,朝两个垂直的方向走,求出最远的距离.这样只要对每个点各个方向的长度知道,组合一下对应的就OK. 避免了每个点深搜. PS:搜索的时候x,y写反了,导致构图出现问题,以后用[dy][dx]

HDU 5014 Number Sequence(2014 ACM/ICPC Asia Regional Xi&#39;an Online) 题解

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5014 Number Sequence Problem Description There is a special number sequence which has n+1 integers. For each number in sequence, we have two rules: ● ai ∈ [0,n] ● ai ≠ aj( i ≠ j ) For sequence a and sequ

hdu6206 Apple 2017 ACM/ICPC Asia Regional Qingdao Online

地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6206 题目: Apple Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 530    Accepted Submission(s): 172 Problem Description Apple is Taotao's favouri

ACM ICPC 2008–2009 NEERC MSC A, B, C, G, L

这套题是我上周日, 就是前天打得一场组队赛, 题目不太好找 题目链接:http://codeforces.com/gym/100861 在virtual judge 上也可以提交哦! A ACM ICPC Rules: 题目大意: 有很多所高校参加预选赛, 并在预选赛取得了排名, 但是对于每所学校, 除了MSU有4个名额之外其他大学只有两个名额( 也就是说, 只有每个大学的前2名进决赛(MSU前四名)&& 最多有10个队伍进入决赛), 高中队伍不能进入决赛. 给出预选赛的排名, 输出可以进