#A. 2024图灵初赛练习2(普及组)
2024图灵初赛练习2(普及组)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
1.atof()函数的作用是将字符串类型转换为double类型。{{ select(1) }}
- 正确
- 错误
2.该程序的calculate()函数只被调用了一次。{{ select(2) }}
- 正确
- 错误
3.该程序中switch()中11~15行只会执行一行语句。{{ select(3) }}
- 正确
- 错误
4.该程序的功能是计算()。{{ select(4) }}
- 前缀表达式
- 中缀表达式
- 后缀表达式
- 转换二进制
5.该程序的遍历相当于二叉树的().{{ select(5) }}
- 前序遍历
- 中序遍历
- 后序遍历
- 层次遍历
填空
题目描述
一矩形阵列由数字 0 到 9 组成,数字 1 到 9 代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。
输入数据 1
4 10
0234500067
1034560500
2045600671
0000000089
输出数据 1
4
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
long long n;
struct node{
int x,y;
};
string s[110];
bool vis[110][110];
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
int main(){
memset(vis,0,sizeof vis);
int n,m,ans=0;
cin>>n>>m;
queue<node>q;
for(int i=0;i<n;i++)cin>>s[i];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
(1)___{
ans++;
q.push({i,j});
(2)___
(3)___{
node now=q.front();
(4)___
for(int i=0;i<4;i++){
int X=now.x+dx[i],Y=now.y+dy[i];
if(X>=0&&X<n&&Y>=0&&Y<m&&s[X][Y]!='0'){
s[X][Y]='0';
(5)___
}
}
}
}
}
}
cout<<ans<<endl;
return 0;
}
(1){{ select(6) }}
- s[i][j]!=0;
- s[i][j]!='0';
- s[i][j]!=1;
- s[i][j]!='1';
(2){{ select(7) }}
- s[i][j]=0;
- s[i][j]='0';
- s[i][j]=1;
- s[i][j]='1';
(3){{ select(8) }}
- while(!q.empty())
- while(n--)
- while(m--)
- for(int i=1;i<=n*m;i++)
(4){{ select(9) }}
- if(!q.empty())
- q.push({j,i});
- q.pop();
- node now=q.back();
(5){{ select(10) }}
- q.push({i,j});
- q.push({now.x,now.y});
- q.push({X,Y});
- q.pop();