Codeforces Round #461 (Div. 2) 传送门
吉祥物还是很可爱的
A. Cloning Toys
卡不合法数据判断的一个题;
#include<bits/stdc++.h>
using namespace std;
int main(){
int x,y;
cin>>x>>y;
int sum=y-1;
if(y==0)
{
cout<<"No"<<endl;
return 0;
}
if(y==1&&x!=0)
{
cout<<"No"<<endl;
return 0;
}
if(x<y-1)
cout<<"No"<<endl;
else {
x=x-sum;
if(x%2==0)
cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}
B. Magic Forest
亦或;
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=200010;
map<ll,int> mp;
int main()
{
int n;
scanf("%d",&n);
int sum=0;
for(int i=1;i<=n;i++)
{
for(int j=i;j<=n;j++)
{
int k=i^j;
if(k+i>j&&k+j>i&&i+j>k&&k>=i&&k>=j&&k<=n) sum++;
}
}
printf("%d",sum);
return 0;
}
C. Cave Painting
找规律的一个题(不是很好找);
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ll n,k;
scanf("%lld%lld",&n,&k);
for(ll i=1;i<=k;i++)
{
if(n%i!=i-1)
{
cout<<"No"<<endl;
return 0;
}
}
cout<<"Yes"<<endl;
}
D. Robot Vacuum Cleaner
主要是两个字符串的贡献值排序不好想;
#include<bits/stdc++.h>
#define LL unsigned long long
using namespace std;
const int MAX = 1e5+7;
struct node{
string ss;
LL s,h,num;
}a[MAX];
bool cmp(node a,node b)
{
return a.s * b.h > a.h * b.s ;
}
int main()
{
int n;
cin>>n;
LL ans=0;
for(int i=0;i<n;i++){
cin>>a[i].ss ;
a[i].h =0;a[i].s =0;a[i].num =0;
for(int j=0;j<(a[i].ss).size();j++)
{
if(a[i].ss[j]=='h') {
a[i].h ++; a[i].num +=a[i].s ;
}
else a[i].s ++;
}
ans+=a[i].num ;
}
sort(a,a+n,cmp);
LL k=a[0].s ;
for(int i=1;i<n;i++){
ans=ans+a[i].h *k;
k+=a[i].s ;
}
cout<<ans<<endl;
return 0;
}
E. Birds
待插
F. Divisibility
待插
大佬四小时AK了