[编程题 ] 小易的升级之路小易经常沉迷于网络游戏.有一次 ,他在玩一个打怪升级的游戏,他的角色的初始能力值为a.在接下来的一段时间内,他将会依次遇见n 个怪物 ,每个怪物的防御力为b1,b2,b3...bn. 如果遇到的怪物防御力bi 小于等于小易的当前能力值c,那么他就能轻松打败怪物,并 且使得自己的能力值增加bi;如果 bi 大于 c,那他也能打败怪物,但他的能力值只能增加bi 与 c 的最大公约数 .那么问题来了 ,在一系列的锻炼后,小易的最终能力值为多少? 输入描述 :对于每组数据 , 第一行是两个整数n(1≤n<100 000) 表示怪物的数量和a 表示小易的初始能力值 . 第二行 n 个整数 ,b1,b2...bn(1≤bi ≤n)表示每个怪物的防御力输出描述 :对于每组数据 , 输出一行 . 每行仅包含一个整数 , 表示小易的最终能力值输入例子 :3 50 50 105 200 5 20 30 20 15 40 100 输出例子 :110 205 #include
#include #include #include #include #include #include #include using namespace std; /* int gcd(int m,int n) { return n == 0 ? m : gcd(n,m%n); }*/ int gcd(int a,int b) { if(!b) return a; return gcd(b,a%b); } int main() { int n,ack,ans; while(scanf("%d%d",&n,&ack)!=EOF) { while(n--) { scanf("%d",&ans); if(ans>ack) ack+=gcd(ack,ans); else ack+=ans; } printf("%d\n",ack); } return 0; } [编程题 ] 炮台攻击兰博教训提莫之后,然后和提莫讨论起约德尔人,谈起约德尔人 ,自然少不了一个人,那 就是黑默丁格 ------ 约德尔人历史上最伟大的科学家. 提莫说 ,黑默丁格最近在思考一个问题:黑默丁格有三个炮台,炮台能攻击到距离它R 的敌人(两点之间的距离为两点连续的距离,例如 (3,0),(0,4) 之间的距离是5),如果一个炮台能攻击到敌人 ,那么就会对敌人造成1×的伤害 .黑默丁格将三个炮台放在N*M 方格中的点上 ,并且给出敌人的坐标 . 问:那么敌人受到伤害会是多大 ? 输入描述 :第一行 9 个整数 ,R,x1,y1,x2,y2,x3,y3,x0,y0.R代表炮台攻击的最大距离,(x1,y1),(x2,y2), (x3,y3)代表三个炮台的坐标 .(x0,y0)代表敌人的坐标 . 输出描述 :输出一行 , 这一行代表敌人承受的最大伤害,( 如果每个炮台都不能攻击到敌人,输出 0×) 输入例子 :1 1...