0分程序线下对线上错??

P1498 南蛮图腾

这里是注释删除之后``` ```c #include<bits/stdc++.h> using namespace std; const int N=10e4+5; const int M=3000; struct Ks{ int id; int cj; }ks[N]; long long a,b,c,d,e,f,g,m,n,q,r,mr; int xi,i2,xj,j2; int tot=1,sum,cnt,cmmp; int x,y,mx,my=100000,mmx,mmy,mmmx,mmmy; int zz,bj,lj,jt,flag,length,width; int a0[N],a1[N],a2[N],a3[N],a4[N],a5[N],a6[N]; int ans,dmx,dmy=100000.0000,emm[N],qwq; int b0[M][M],b1[M][M],b2[M][M],b3[M][M]; char c0[N],c1[N],c2[N],c3[N],c4[N],c5[N],c6[N]; char d0[2048][2048],d1[M][M],d2[M][M],d3[M][M]; int copyr(int r) { for(int i=c;i>=c-r;i--) {for(int j=1;j<=r*2;j++) { d0[i][j+r*2]=d0[i][j]; } } } int copyu(int r) { for(int i=c;i>=c-r+1;i--) {for(int j=1;j<=r*2;j++) { d0[i-r][j+r]=d0[i][j]; } } } int main() { cin>>a; c=1; for(int i=0;i<=a;i++) { c*=2; } int k=1; d0[c][1]='/'; d0[c][2]='_'; d0[c][3]='_'; d0[c][4]='\\'; d0[c-1][2]='/'; d0[c-1][3]='\\'; r=1; for(int i=a;i>1;i--) { r=r*2; copyr(r); copyu(r); } for(int j=c/2+1;j<=c;j++) { for(int z=1;z<=c;z++) { cout<<d0[j][z];} cout<<endl;} return 0; } ``` ```
by Cyan_rose @ 2018-07-18 15:50:23


@[Cyan_rose](/space/show?uid=48246) 本地对了就是对了,提交错了说明 OJ 有问题~~(滑稽)~~
by Siyuan @ 2018-07-18 15:51:51


@[Cyan_rose](/space/show?uid=48246) 提交的错误提示是什么
by yszshs1 @ 2018-07-18 16:01:59


@[yszshs1](/space/show?uid=72662) wa
by ⚡GG⚡ @ 2018-07-18 16:07:54


@[垃圾一个](/space/show?uid=85933) ### 要不oj有问题,也有可能是你的数组或字符串越界了,但本地没有测出来
by yszshs1 @ 2018-07-18 16:11:25


@[Cyan_rose](/space/show?uid=48246) 你用在线IDE跑一下,就会发现你的空格是一堆奇怪的东西
by ztz11 @ 2018-07-18 16:14:21


@[ztz11](/space/show?uid=52176) 感谢各位大佬的讨论和这位大佬指出的问题! 的确是因为字符类型的空格与实际空格不一样才wa的。。。。。。 加了一句 ``` if(d0[j][z]!=0) cout<<d0[j][z]; else cout<<" "; ``` 然后就对了。。。 再次感谢~
by Cyan_rose @ 2018-07-18 16:33:58


|