本文主要是介绍擂台赛出题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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的个数。
这篇关于擂台赛出题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!