Educational Codeforces Round 83 (Rated for Div. 2)

總體來說菜得很…D題有點思路但是實現不了。。。

Two Regular Polygons

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int t,n,m;
int main()
{
	cin>>t;
	while(t--)
	{
		cin>>n>>m;
		if(n%m==0) cout<<"YES"<<endl;
		else cout<<"NO"<<endl;
	}
	return 0;
 }

Bogosort

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+5;
int t,n,m;
int a[N];

int main()
{
	cin>>t;
	while(t--)
	{
		cin>>n;
		for(int i=0;i<n;i++)
			cin>>a[i];
		sort(a,a+n);
		for(int i=n-1;i>=0;i--)
			cout<<a[i]<<' ';
		cout<<endl;
	}
	return 0;
}

Adding Powers

對於給定一個數x,如果x可以展開成底數k的冪的和的形式,那麼 x % k = 1 或 x % k = 0。只要想到這點就行了,然後按照k進制算就行了。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1010,mod=1e9+7;
int t,n,m,k;
ll a[N],cnt[N];
int main()
{
	cin>>t;
	while(t--)
	{
		cin>>n>>k;
		for(int i=0;i<n;i++) cin>>a[i];
		bool flag=0;
		for(int i=0;i<n;i++)
			if(a[i])
				flag=1;
		if(!flag) 
		{
			cout<<"YES"<<endl;
			continue;
		}
		memset(cnt,0,sizeof cnt);
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<100;j++)
			{
				cnt[j]+=a[i]%k;
				a[i]/=k;
			}
		}
		for(int i=0;i<100;i++)
			if(cnt[i]>1)
				flag=0;
		if(flag) cout<<"YES"<<endl;
		else cout<<"NO"<<endl;
	}
	return 0;
 }

Count the Arrays

先放一下,這有個盧卡斯定理,等小編整理一下再發

Array Shrinking

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章