10分求助大佬QAQ

P1957 口算练习题

我也不会做 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


|