for(int i=0;i<T;i++) // t test cases
{
int flag=0; //flag variable to check the output
char A[3][3];
for(int j=0;j<3;j++) //Taking
for(int k=0;k<3;k++) //Input
cin>>A[j][k]; //in a character Array
//checking for letter 'l' in the character array and if other l's also exist or not
for(int j=0;j<2;j++)
for(int k=0;k<2;k++)
{
if(A[j][k]=='l')
{
if(A[j+1][k]=='l' && A[j+1][k+1]=='l')
flag++;
}
}
if(flag>0)
cout<<"yes"<<endl;
}
return 0;
}
这是我的代码,问题是检查是否在3 * 3字符数组中,是否有类似
的模式
l
ll
它可以正确地用于第一个迭代或第一个测试用例,但是从第二个以后都没有显示结果。
答案 0 :(得分:0)
它正常工作,如您在此处看到的:onlinegdb.com/r1VCS-FxN。
失败时您看不到结果,因为您没有“否”提示。
链接中的代码,以防万一它停止工作:
#include <iostream>
using namespace std;
int main() {
const int T = 3;
cout << "T: " << T << endl;
for(int i=0;i<T;i++) // t test cases
{
int flag=0; //flag variable to check the output
char A[3][3];
for(int j=0;j<3;j++) //Taking
for(int k=0;k<3;k++) //Input
cin>>A[j][k]; //in a character Array
//checking for letter 'l' in the character array and if other l's also exist or not
for(int j=0;j<2;j++)
for(int k=0;k<2;k++) {
if(A[j][k]=='l') {
if(A[j+1][k]=='l' && A[j+1][k+1]=='l')
flag++;
}
}
cout << "Flags: " << flag << endl;
if(flag>0)
cout<<"yes"<<endl;
else
cout << "nope" << endl;
}
return 0;
}
答案 1 :(得分:-1)
内部循环中的内部测试:
if(A[j+1][k]=='l' && A[j+1][k+1]=='l')
flag++;
我认为应该是
if(A[j+1][k]=='l' || A[j+1][k+1]=='l')
flag++;