1 家里有矿
命题人:7989
知识点:
难度:2
时间限制:1000ms
内存限制:65536KiB
描述
作为ACM队里的女装大佬,小P家里非常有钱,不仅有矿,还有好多个,这不小P正在为矿场的事烦恼,事情是这样的:小P想给矿场围着围栏,可他不知道需要多长的围栏才能把所有的矿场围在一起(注意,围栏为平行于坐标轴的正方形)。如果你能帮他解决这个问题,他会送你一件女装作为感谢。
输入
第一行为N,表示矿场数目
下面为N行 每行两个数字xi,yi,表示第ii行表示第i个矿场的坐标
2<=N<=100
0≤xi,yi≤100000
输出
围栏所需最小长度
示例输入
2 0 0 2 2
示例输出
4
提示
标程
#include <stdio.h>
#include <stdlib.h>
//#include<bits/stdc++.h>
int main()
{
int n,x,y,i,MAXx,MAXy,MINx,MINy,ans;
scanf("%d",&n);
//assert(n>=2&&n<=100);
MAXx = -1,MAXy = -1;
MINx = 100000 ,MINy = 100000 ;
for(i=1;i<=n;i++)
{
scanf("%d%d",&x,&y);
//assert(x>=1&&x<=100000);
//assert(y>=1&&y<=100000);
if(x > MAXx) MAXx = x;
if(x < MINx) MINx = x;
if(y > MAXy) MAXy = y;
if(y < MINy) MINy = y;
}
if(MAXx - MINx > MAXy - MINy) ans = (MAXx-MINx) * 4;
else ans = (MAXy - MINy) * 4;
printf("%d\n",ans);
return 0;
}
题解
简单题,因为是正方形,找的最大边长就行
2 奇怪的纸币
命题人:7989
知识点:
难度:3
时间限制:1000ms
内存限制:65536KiB
描述
大家都知道人民币的面值有1元,2元,5元。这是因为1、2、5三个都是质数,可以合理地组合成其他数字。其中除了8和9需要3个数字才能组合成功外, 10以内的其他数字都可以由1、2、5中的1个或者2个组合。另外,人民币因为配备了10,所以10-2=8,10-1=9,这就完美解决了8和9的问题。由此一来,10以内所有的数字都在2张人民币以内就可以得到解决。
小明忽然想到1、5、7也同样都是质数,那么用这些面值的纸币组成某个数最小需要多少张纸币呢?
输入
一个数字n(1<=n<=100000)
输出
一个数字,代表最少需要多少张面值1或5或7的纸币构成。
示例输入
10
示例输出
2
提示
标程
#include <stdio.h>
#include <stdlib.h>
//#include<bits/stdc++.h>
int main()
{
int n,x,y,z,ans,m;//x,y,z分别代表1,5,7的个数
scanf("%d",&n);
//assert(n>=1&&n<=100000);
ans = 100000;
for(x = 0;x <= n/7;x++)//枚举所有7的个数
{
m = n - 7 * x;
y = m / 5;
m = m % 5;
z = m;
if(ans > x + y + z)
{
ans = x + y + z;
}
}
printf("%d\n",ans);
return 0;
}
题解
暴力求解,枚举所有7的个数。
475

被折叠的 条评论
为什么被折叠?



