​Codeforces Round #411 (Div. 2)​​​
四道大水题,写完四道就凉 了。

​A - Fake NP CodeForces - 805A​

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int l ,r;
scanf("%d%d",&l,&r);
if(l==r) printf("%d\n",l);
else
printf("2\n");
return 0;
}

​B - 3-palindrome CodeForces - 805​

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
if(n==1) printf("a\n");
else if(n==2) printf("aa\n");
else if(n==3) printf("bba\n");
else if(n==4) printf("bbaa\n");
else//
{
string s="bbaa";
for(int i=4;i<n;i++)
s+=s[i-2]=='a'?'b':'a';
cout<<s<<endl;
}
return 0;
}

​C - Find Amir CodeForces - 805C​

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int n;//i+j
scanf("%d",&n);
if(n<=2) printf("0\n");
else
{
printf("%d\n",(n-1)/2);
}
return 0;
}

​D - Minimum number of steps CodeForces - 805D​

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long ll;
const ll mod=1e9+7;//
int main()
{
string s;
cin>>s;
int len=s.size();
ll cnt=0;
ll ans=0;
for(int i=len-1;i>=0;i--)
{
if(s[i]=='b') cnt++;
else if(s[i]=='a')
{
ans=(ans+cnt)%mod;
cnt=(cnt*2)%mod;
}
}
printf("%lld\n",ans);

return 0;
}