【发布时间】:2021-03-10 11:39:50
【问题描述】:
//Question
/*一排有N个座位。给你一个长度为 N 的字符串 S;对于每个有效的 i,如果第 i 个座位是空的,则 S 的第 i 个字符为“0”,如果该座位上有人坐在,则为“1”。
如果两个人坐在一起,他们就是朋友。两个朋友总是属于同一群朋友。你能找到组的总数吗?
输入
输入的第一行包含一个整数 T,表示测试用例的数量。 T 测试用例的描述如下。 每个测试用例的第一行也是唯一一行包含一个字符串 S。
输出
对于每个测试用例,打印一行包含一个整数 - 组数。*/
//我的代码
#include <iostream>
#include <string>
using namespace std;
int main() {
int t;
cin>>t;
int n=1e6;
for(int i=0;i<t;i++){
string g1;
cin>>g1;
int group;
group = 0;
for(int j=0;j<g1.length();j++){
if(g1[j] == '1'){
for(int h=1;h<n;h++){
if(g1[j+h] == '1'){
h++;
}else{
break;
}
group++;
}
} else{
continue;
}
}
cout<<group<<endl;
}
return 0;}
示例输入
4
000
010
101
01011011011110
示例输出
0 1 2 4
//我的输出
0
0
0
9
【问题讨论】:
-
我建议您对失败的测试用例进行硬编码,并在调试器中逐步检查代码以查看发生了什么以及它与您的预期有何不同。
标签: c++