在牛客网上做编程题遇到个怪事,想不通,请教下大家 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shrimp929
V2EX    问与答

在牛客网上做编程题遇到个怪事,想不通,请教下大家

  • &nbp;
  •   shrimp929 2017-04-26 18:23:06 +08:00 2574 次点击
    这是一个创建于 3099 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网易 2017 春招编程题中有个涂棋盘的题,题目如下: 小易有一块 n*n 的棋盘,棋盘的每一个格子都为黑色或者白色,小易现在要用他喜欢的红色去涂画棋盘。小易会找出棋盘中某一列中拥有相同颜色的最大的区域去涂画,帮助小易算算他会涂画多少个棋格。

    输入描述: 输入数据包括 n+1 行: 第一行为一个整数 n(1 ≤ n ≤ 50),即棋盘的大小 接下来的 n 行每行一个字符串表示第 i 行棋盘的颜色,'W'表示白色,'B'表示黑色

    输出描述: 输出小易会涂画的区域大小

    输入例子: 3 BWW BBB BWB

    输出例子: 3

    在我的解答中,我用二维数组来接收输入没有任何问题,但是用 string 类型,定义 string s[50],提交会提示段错误,但是我定义 string s[51]就能正常运行,输入 n<=50 的啊,所以我想不明白是为什么,下面附上我的源码

    #include <iostream>

    #include <cstring>

    using namespace std;

    int main()

    {

    int n; //char s[50][50]; string s[51]; int max=0; cin >> n; for(int i=0;i<n;i++) { cin >> s[i]; /* for(int j=0;j<n;j++) { cin >> s[i][j]; }*/ } for(int i=0;i<n;i++) { int c = 0; int j=0; while(j<(n-1)) { c=1; while(s[j][i]==s[j+1][i]) { c++; j++; } if(max < c) { max = c; } j++; } } cout << max; return 0; 

    }

    2 条回复    2017-04-30 16:44:53 +08:00
    codingyue
        1
    codingyue  
       2017-04-26 18:41:21 +08:00 via iPhone
    while(s[j][i]==s[j+1][i])
    {
    c++;
    j++;
    }

    这里越界了
    shrimp929
        2
    shrimp929  
    OP
       2017-04-30 16:44:53 +08:00
    @codingyue 好像没有越界把,j 的范围应该是1-( n-1 ),我 while 循环的时候 j<(n-1)的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2944 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 13:32 PVG 21:32 LAX 06:32 JFK 09:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86