Codeforces Round #560 (Div. 3) A题
Posted duxing201806
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #560 (Div. 3) A题相关的知识,希望对你有一定的参考价值。
题目网址:http://codeforces.com/contest/1165/problem/A
题目大意:给定一行01串,开头必是1,length为n,可对串进行变化,0变成1,1变成0,问经过最少的变化,该串mod 10^x==10^y.(^是乘方),输出变化次数。
题解:简单分析可知,比如串是1001000,则mod 1000 == 0,mod 10000 == 1000,所以直接在n-x之和判断即可。
1 #include<bits/stdc++.h> 2 #define ll long long 3 using namespace std; 4 const int maxn=2e5+7; 5 char str[maxn]; 6 int main() 7 { 8 int n,x,y; 9 cin>>n>>x>>y; 10 scanf("%s",str+1); 11 int ans=0; 12 for(int i=n-x+1;i<=n;i++) { 13 if(i==(n-y)&&str[i]==‘0‘) ans++; 14 if(i!=(n-y)&&str[i]==‘1‘) ans++; 15 } 16 cout<<ans<<endl; 17 return 0; 18 }
以上是关于Codeforces Round #560 (Div. 3) A题的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #560 (Div. 3) A题
Codeforces Round #560 div3 (C,D)
Codeforces Round #313 (Div. 2)