我~~ac~~的代码输入0居然会输出0(~~小丑~~)
by U_n_I @ 2023-04-02 12:37:49
@[DreamOfYouThreeTimes](/user/941781)
```cpp
#include <iostream>
#include <string>
using namespace std;
int main(){
string a;
int sum=0;
cin>>a;
for(int i=1;i<a.length();i++){
if(a[i]!=a[i-1]){
sum++;
}
}
if(a[a.length()-1]=='0'){
sum++;
}
cout<<sum;
return 0;
}
```
这个AC代码输入0输出0啊
by Yang18630303 @ 2023-05-02 18:14:57
@[Yang18630303](/user/760161) 可是不应该输出1吗?
因为是要全部翻到正面朝上吧
by U_n_I @ 2023-05-02 19:11:00
@[DreamOfYouThreeTimes](/user/941781) 打错了,这个会输出1
by Yang18630303 @ 2023-05-02 19:12:44
@[DreamOfYouThreeTimes](/user/941781) 因为输出之前的if
by Yang18630303 @ 2023-05-02 19:13:15
@[Yang18630303](/user/760161) 可是我本地亲测输出是0啊
by U_n_I @ 2023-05-02 19:52:02
@[DreamOfYouThreeTimes](/user/941781) ???我的代码是1啊!!!
by Yang18630303 @ 2023-05-02 19:55:06
@[DreamOfYouThreeTimes](/user/941781) 本地亲测!!!
by Yang18630303 @ 2023-05-02 19:55:44
@[DreamOfYouThreeTimes](/user/941781)
```cpp
if(a[a.length()-1]=='0'){
sum++;
}
```
这里条件成立,sum变为1了啊
by Yang18630303 @ 2023-05-02 19:57:48
@[Yang18630303](/user/760161) 我的意思是 我的代码输入0会输出0,但是是ac的
所以有没有可能是样例少了这个( )
代码
```cpp
#include <bits/stdc++.h>
using namespace std;
int le[27];
int main(){
string a,b;
cin>>a;
int l=a.length();
for(int i=1;i<l;i++){
if(a[i]!=a[i-1])b+=a[i];
}
int k=b.length();
if(b[k-1]=='0')cout<<k+1;
else cout<<k;
return 0;
}
~~~
by U_n_I @ 2023-05-04 16:15:51