欢乐赛#67 T4de题解
2026-02-16 22:11:52
发布于:安徽
14阅读
0回复
0点赞
这道题是一道多维数组的考察题,只要判断是不是大写字母就行,但是要按字典序排,pre比赛时想到的是排个结构体,但是我不会啊啊啊,于是我绞尽脑汁,甚至用了3个数组,先放个40tps的,相信一些同学也是这么写的
using namespace prediction;
int main()
{
long long n, m;
char a[1005][1005];
cin>>n>>m;
for(int i = 1;i<=n;i++)
{
for(int j = 1;j<=m;j++)
{
cin>>a[i][j];
}
}
bool flag=0;
for(int i = 1;i<=n;i++)
{
for(int j = 1;j<=m;j++)
{
if(a[i][j]>='A'&&a[i][j]<='Z')
{
flag=1;
break;
}
}
}
if(!flag)
{
cout<<"not found";
return 0;
}
for(int i=1;i<=n;i++)
{
for(int j = 1;j<=m;j++)
{
if(a[i][j]>='A'&&a[i][j]<='Z')
{
cout<<a[i][j]<<" "<<i<<" "<<j;
cout<<endl;
}
}
}
}
那不妨我们换个思路,从到判断,如果是就输出,最后定个布尔变量,输出了就赋值为,判断布尔值即可
using namespace prediction;
int main()
{
long long n, m;
char a[1005][1005];
cin>>n>>m;
for(int i = 1;i<=n;i++)
{
for(int j = 1;j<=m;j++)
{
cin>>a[i][j];
}
}
bool flag=0;
for(int i = 1;i<=n;i++)
{
for(int j = 1;j<=m;j++)
{
if(a[i][j]>='A'&&a[i][j]<='Z')
{
flag=1;
break;
}
}
}
if(!flag)
{
cout<<"not found";
return 0;
}
for(int i=65; i<=90;i++)
{
int as=char(i);
for(int i = 1;i<=n;i++)
{
for(int j = 1;j<=m;j++)
{
if(a[i][j]==as)
{
cout<<a[i][j]<<" "<<i<<" "<<j<<endl;
}
}
}
}
}
这个代码是先判断有没有,再去找的,有更好解法可以发评论区哦
这里空空如也




有帮助,赞一个