2016.7.14 noip2014模拟题 LGTB的日常~(自己乱安的名字hhh

    这套题应该是某学校的自命题,好像不是很出名,在网上没有找到,考虑到日后万一我变成了大神可能会有人看我的博客(虽然可能性几乎为0),把这套题分享在了百度云盘上(http://pan.baidu.com/s/1c7gKe6

考试分析:

    这应该是开始写博客以来考得最好的一次,当然排名并没有那么高,因为第一题神奇地WA了(呵呵(笑脸,但把第一题的分加上我应该是第一,这次的分数也算是我现在的水平发挥得比较好的状态;

参考资料:

    无;(一套神奇的无解题报告的题,只能自力更生艰苦创业)

反映问题:

    1.字符串,字符及字符数组的读取;

    

一.LGTB玩扫雷

题意:算矩阵周围某元素个数;

题目分析:

    对!就是这道题!就是它挡在我和第一名中间!就是它!注定了我遇上“第一题永远做不对”的噩梦!我讨厌第一题!

    好,牢骚发完了orz,刚拿到这道题,被上次的noip2013虐了的我惊异于我居然可以马上动笔......啊不,动键盘,然而老师要求看题十五分钟所以我分析了一下第二题的DP(然而写了一个废弃程序),然后就开始快速搞定这道题,当然,其实并不快,因为我在读字符上卡了,回车实在是折磨人的小妖精,然后cin取消同步后又阵亡了(读不到字符),最后上了scanf("%s"),然后只过了两组;悲愤欲绝之时,老师让我自己回去调,于是一中午都没搞定,差点挥手写对拍(之前不写是因为觉得自己只可能是题意理解错,再写一个也没用),然后老师讲题时干脆把我的程序拿给大家让找错,最后半信半疑地把ios::sync_with_stdio(false)去了,然后全过(手动再见),(你说这个我怎么自己找错)(整个中午都喂doge了);

    这里总结一下用取消同步出现过的问题:

    1.scanf和cin不能一起用;

    2.cin字符没返回值cin数字却有;

   3.有的数据对有的数据错(而且好像是linux下才错???

    所以得到的结果是:和scanf在一起一辈子(只要记清交程序时改成“%lld”就行了

    (或者写:

    #ifdef WIN32
    #define AUTO "%I64d"
    #else
    #define AUTO "%lld"
    #endif

#include<cstdio>
#include<iostream>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<string>
#include<algorithm>
#include<queue>
#include<set>
using namespace std;
int n,m,zl[8][2]={1,0,-1,0,0,1,0,-1,1,1,1,-1,-1,-1,-1,1};
char ovo[1005][1005];
int main()
{
    freopen("mine.in","r",stdin);
    freopen("mine.out","w",stdout);
    cin>>n>>m;
    //ios::sync_with_stdio(false);//有scanf和cin不能取消同步(建议记清楚,用scanf 
    for(int i=1;i<=n;i++)
    scanf("%s",&ovo[i]);

    for(int i=1;i<=n;i++)
    {
    for(int j=0;j<=m-1;j++)
    {
        if(ovo[i][j]=='.')
        {
            int ans=0;
            for(int k=0;k<=7;k++)
            {
                int x=i+zl[k][0];int y=j+zl[k][1];
                if(x>=0&&y>=0)
                if(ovo[x][y]=='*')
                ans++;
            }
            cout<<ans;
        }
        else cout<<'*';
    }
    cout<<endl;
    }
    return 0;
}
原文地址:https://www.cnblogs.com/SindarDawn/p/5671722.html