比赛链接:https://ac.nowcoder.com/acm/contest/95928#question
这次D题小细节搞了好久,越界了好几次,没想到赛后做E,发现还更简单的
A.三途川的摆渡人(二)
题面:
小红这天来到了三途川,发现这里有一个摆渡人,名字叫小町。
小町的职责是将一些灵魂运送到冥界。但小町非常喜欢偷懒,她经常在上班的时候摸鱼,导致很多灵魂不能成功送达,因此在彼岸开出了许多彼岸花。
小红准备统计彼岸花的数量,她把排队等待摆渡的灵魂用一个01串来表示,'0'代表因小町摸鱼未能上船的灵魂,'1'代表成功到达冥界的灵魂。每个未上船的灵魂都将化为一朵彼岸花,请你帮小红计算彼岸花的数量。
输入:
第一行输入一个正整数n,代表灵魂的数量。
第二行输入一个长度为n的01串,代表每个灵魂是否成功被小町送往冥界。
\(1<=n<=100\)
输出:
一个整数,代表彼岸花的数量。
样例:
4
0100
——————
3
思路:彼岸花数量就是字符串中0数量,直接遍历
#include<iostream>
#include<queue>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
#include<deque>
#include<cctype>
#include<string.h>
#include<math.h>
#include<time.h>
#include<random>
#include<stack>
#include<string>
#define ll long long
#define lowbit(x) (x & -x)
#define endl "\n"// 交互题记得删除
using namespace std;
mt19937 rnd(time(0));
const ll mod = 998244353;
ll ksm(ll x, ll y)
{
ll ans = 1;
while (y)
{
if (y & 1)
{
ans = ans % mod * (x % mod) % mod;
}
x = x % mod * (x % mod) % mod;
y >>= 1;
}
return ans % mod % mod;
}
ll gcd(ll x, ll y)
{
if (y == 0)
return x;
else
return gcd(y, x % y);
}
void fio()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
int main()
{
fio();
ll n;
cin>>n;
string f;
cin>>f;
ll ans=0;
for(ll i=0;i<f.size();i++)
{
if(f[i]=='0')ans++;
}
cout<<ans<<endl;
}
B.魔法之森的蘑菇(二)
题面:
小红在魔法之森迷路了,森林中有一些致幻的毒蘑菇。森林用一个