AtCoder Beginner Contest 112

前两个题很简单,这里就不整理了。

C - Pyramid

枚举+条件判断就行啦

#include
#include
#include
#include
using namespace std;
const int maxn=110;
struct{
	int x,y,h;
}mes[maxn];

int main(){
	int n;
	scanf("%d",&n);
	int a;
	for(int i=0;i0) a=i;
	}
	
	int H,ans;
	bool flag;
	for(int cx=0;cx<=100;cx++){
		for(int cy=0;cy<=100;cy++){
			flag=true;
			H=abs(mes[a].x-cx)+abs(mes[a].y-cy)+mes[a].h;
			for(int i=0;i

 

D - Partition

题解:这n个数的最大公因子肯定不大于它们的平均数,m%i==0(m/i>=n)就是m可以被分成n份,每份都是i的倍数,可以是i,i*2……

#include
using namespace std;
 
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=m/n;i>=1;i--){
    	if(m%i==0){
    		printf("%d\n",i);
    		break;
		}
	}
    return 0;
}

 

你可能感兴趣的:(题目集,-,AtCoder)