HDU-candy-每次只吃一种糖
来源:互联网 发布:如何查看店铺装修源码 编辑:程序博客网 时间:2024/04/30 14:38
问题及代码:
/* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:HDU.cpp *作 者:单昕昕 *完成日期:2015年1月19日 *版 本 号:v1.0 * *问题描述:HOHO,终于从Speakless手上赢走了所有的糖果,是Gardon吃糖果时有个特殊的癖好,就是不喜欢将一样的糖果放在一起吃,喜欢先吃一种,下一次吃另一种,这样;可是Gardon不知道是否存在一种吃糖果的顺序使得他能把所有糖果都吃完?请你写个程序帮忙计算一下。*程序输入:第一行有一个整数T,接下来T组数据,每组数据占2行,第一行是一个整数N(0<N<=1000000),第二行是N个数,表示N种糖果的数目Mi(0<Mi<=1000000)。*程序输出:对于每组数据,输出一行,包含一个"Yes"或者"No"。Sample Input234 1 155 4 3 2 1Sample OutputNoYes*///内存超限#include <iostream>using namespace std;int main(){ int n,t,i,j,k,flag=0,min=1000001; cin>>t; for(i=0; i<t; ++i) { while(cin>>n) { int a[n]; for(j=0; j<n; ++j) { cin>>a[j]; if(a[j]<=min) min=a[j]; } for(j=0; j<min; ++j) for(k=0; k<n; ++k) a[k]--; for(j=0; j<n; ++j) { if(a[j]==0) flag++; } if(flag==1) cout<<"Yes"<<endl; else cout<<"No"<<endl; flag=0; } } return 0;}//AC代码//只要除了数目最多的糖果以外的其他所有糖果的数目之和加1,大于等于数目最多的糖果数,就能吃完,否则不能。<div>#include<iostream>#include <iostream>using namespace std;int main(){ std::ios::sync_with_stdio(false); long long t,i,n; cin>>t; for(i=0; i<t; i++) { cin>>n; long long j,sum=0,max=0,m; for(j=0; j<n; j++) { cin>>m; sum+=m; if(m>max) max=m; } if(max<=sum-max+1) cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0;}
运行结果:
知识点总结:
堆栈溢出就是不顾堆栈中分配的局部数据块大小,向该数据块写入了过多的数据,导致数据越界,结果覆盖了老的堆栈数据。
1,只要除了数目最多的糖果以外的其他所有糖果的数目之和加1,大于等于数目最多的糖果数,就能吃完,否则不能。
2,一轮一轮的吃,最后只有一种糖果剩下数目为1才能。
学习心得:
堆栈溢出、时间或者内存超限。。
0 0
- HDU-candy-每次只吃一种糖
- Candy HDU
- HDU 4322-Candy
- HDU 4465 Candy
- HDU 4465 Candy
- HDU Candy(数学 组合)
- hdu 4780 Candy Factory
- HDU 4322 Candy
- HDU 4780 Candy Factory
- HDU 4465 candy
- HDU 4322 Candy
- HDU 4780 Candy Factory
- HDU-4322-Candy
- HDU 4465 Candy
- hdu 4465 Candy
- Hdu 4465 Candy
- hdu 4465 Candy
- 每次只启动一个实例
- 选择尚学堂与传智播客的java培训?
- Oracle获取系统时间及格式化
- HDU4790 Just Random 【数学】
- U-BOOT源码分析及移植 这篇文章写的不错
- iOS 学习资料整理
- HDU-candy-每次只吃一种糖
- End-to-End Workload Monitor in SAP Solution Manager
- 筛检法求一定范围内的素数
- poj 2337 Catenyms
- 面向对象的软件工程
- php复选框提交获取
- LeetCode Single Number
- 【java基础】Java反射机制
- 线性回归与复相关系数