P4327过不了样例,到底哪错了,大家帮忙看看谢谢

P4327 [COCI2006-2007#1] Okviri

@[hanjinshou](/user/934868) ``` #include <bits/stdc++.h> using namespace std; string yw;//输入的字母 char kj[100][100];//要输出的框架 int n;//存储字母个数 int main(){ cin>>yw; n=yw.size(); memset(kj,'.',sizeof(kj)); kj[3][1]='#'; for(int i=0;i<=n;i++){ int a=i*4+3; //if(i==0)a++; kj[3][a]=yw[i]; if((i+1)%3==0){ kj[1][a] =kj[2][a-1]=kj[2][a+1] =kj[3][a+2]=kj[3][a-2] =kj[4][a-1]=kj[4][a+1] =kj[5][a] ='*'; }else{ if(kj[1][a]!='*')kj[1][a]='#'; if(kj[2][a-1]!='*')kj[2][a-1]='#'; if(kj[2][a+1]!='*')kj[2][a+1]='#'; if(kj[3][a+2]!='*')kj[3][a+2]='#'; if(kj[4][a-1]!='*')kj[4][a-1]='#'; if(kj[4][a+1]!='*')kj[4][a+1]='#'; if(kj[5][a]!='*')kj[5][a]='#'; } } int cd=n*4+1;//存储输出部分长度 for(int i=1;i<=5;i++){ for(int j=1;j<=cd;j++){ cout<<kj[i][j]; } cout<<endl; } return 0; } ```
by 编码落寞 @ 2023-09-05 15:08:26


@[hanjinshou](/user/934868) 行是固定5行,你使用a的话,后面的数据被偏移到下面去了
by 编码落寞 @ 2023-09-05 15:09:19


@[编码落寞](/user/557751) 谢谢
by hanjinshou @ 2023-09-05 15:17:32


@[编码落寞](/user/557751) 样例都过了,但只得了50分怎么办
by hanjinshou @ 2023-09-05 15:25:21


@[hanjinshou](/user/934868) ``` for(int i=0;i<=n;i++){ ``` 改成小于,循环多了
by 编码落寞 @ 2023-09-05 15:45:17


@[编码落寞](/user/557751) 好的,谢谢
by hanjinshou @ 2023-09-05 15:55:08


|