我也不会做
6. 被幸福包裹的数
XJOI - 题目ID:9433必做题50分
最新提交:
0 分
历史最高:
0 分
时间限制: 1000ms
空间限制: 524288kB
题目描述
传说数字1代表幸福,请找出矩阵种被幸福包裹的数,并把它设置为2.
输入格式
每组测试数据第一行一个整数n(1≤n≤30)
接下来n行,由0和1组成的n×n的方阵。
方阵内只有一个闭合圈,圈内至少有一个0。
输出格式
已经填好数字2的完整方阵。
样例
Input 1
6
0 0 0 0 0 0
0 0 1 1 1 1
0 1 1 0 0 1
1 1 0 0 0 1
1 0 0 0 0 1
1 1 1 1 1 1
Output 1
0 0 0 0 0 0
0 0 1 1 1 1
0 1 1 2 2 1
1 1 2 2 2 1
1 2 2 2 2 1
1 1 1 1 1 1
Input 2
5
1 1 1 1 1
1 0 1 0 1
1 1 1 1 1
1 0 1 0 1
1 1 1 1 1
Output 2
1 1 1 1 1
1 2 1 2 1
1 1 1 1 1
1 2 1 2 1
1 1 1 1 1
样例解释
测试样例1解释:
这是一组方阵,圈内的1表示被幸福包裹的数,根据题目要求,将这些幸福的数设置为2,然后返回结果。
测试样例2解释:
这是一组方阵,所有的数都被幸福包裹,所以将所有的数设置为2,然后返回结果。
by zhenglaiyun @ 2024-03-24 17:40:30
@[zhenglaiyun](/user/1314328) 要你回答了?
by heyx0201 @ 2024-03-24 17:54:09
你会用sprintf吗?
by keep_shining @ 2024-03-24 18:01:47
@[lvyichen5ban](/user/999198) 你会用sprintf吗?
by keep_shining @ 2024-03-24 18:03:38
还有sscanf
by keep_shining @ 2024-03-24 18:04:51
@[lvyichen5ban](/user/999198)
```
#include<bits/stdc++.h>
using namespace std;
#define itn int
int nl;
string d;
int main()
{
cin>>nl;
for(int i=1;i<=nl;i++)
{
int a,b;
char s[1000],x[1000];
cin>>s;
if(s[0]>='a'&&s[0]<='z')
{
cin>>a>>b;
d=s;
if(s[0]=='a')sprintf(x,"%d+%d=%d",a,b,a+b);
else if(s[0]=='b')sprintf(x,"%d-%d=%d",a,b,a-b);
else sprintf(x,"%d*%d=%d",a,b,a*b);
}
else
{
sscanf(s,"%d",&a);
cin>>b;
if(d=="a")sprintf(x,"%d+%d=%d",a,b,a+b);
else if(d=="b")sprintf(x,"%d-%d=%d",a,b,a-b);
else sprintf(x,"%d*%d=%d",a,b,a*b);
}
cout<<x<<endl<<strlen(x)<<endl;
}
return 0;
}
```
by keep_shining @ 2024-03-24 18:19:27
我不会做啊
by zhenglaiyun @ 2024-03-25 18:43:37