1.买牛奶
时间限制:1秒 内存限制:128M
题目描述
凯文先生是个生活非常规律的人,一日三餐从不改变,喜欢喝“玉兰”牌的瓶装牛奶。凯文先生每餐都要喝半斤牛奶,而他喜欢的种类只有1斤装的,没喝完的会在下次进餐时继续喝。由于交通不方便,凯文先生会一次采购若干天的牛奶数量。问凯文先生一次至少买多少瓶?
输入描述
输入文件:milk.in
仅一行,一个正整数N(0< N <20),表示天数。
输出描述
输出文件:milk.out
仅一行,一次至少购买的牛奶瓶数。
样例
输入
1
输出
2
核心:ceil(n*3*0.5/1)
#include
#include
using namespace std;
int main(){
freopen("milk.in","r",stdin);
freopen("milk.out","w",stdout);
double ds,as;
cin>>ds;
as=ceil(ds*3*0.5/1);
cout<
2.百鸡问题
时间限制:1秒 内存限制:128M
题目描述
百鸡问题:一只公鸡值5元,一只母鸡值3元,而1元可买3只小鸡。现有100元钱,想买100只鸡。问可买公鸡、母鸡、小鸡各几只?
输入描述
输入文件:chook.in
无输入数据。
输出描述
输出文件:chook.out
若干行,每行三个数分别为公鸡数、母鸡数、小鸡数,表示一种可能的购买方案,按公鸡数从小到大排列。
这这这?不就是打表的题
注意能算不举,不然三层嵌套循环电脑撑不住
#include
using namespace std;
int main(){
freopen("chook.in","r",stdin);
freopen("chook.out","w",stdout);
cout<<"0 25 75"<
3.哈夫曼编码
时间限制:1秒 内存限制:128M
题目描述
哈夫曼编码是一种编码方式,是可变字长编码的一种,由Huffman于1952年提出。该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫Huffman编码。简单地来说,就是出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目的。
现在请你模拟这样的原则对给定的一个字符串进行字母统计。输入描述
输入文件:code.in
输入只有一行,是一个字符串,由小写英文字母组成,长度不超过255个字符。
输出描述
输出文件:code.out
输出有若干行,每行有两部分组成:一个字母和该字母出现的频率,中间用一个空格分隔,并按频率高低排列,频率相同时则按字母的ASCII码的先后顺序排列。
样例
输入
soon
输出
o 2
n 1
s 1
是这套题里面唯一有一点难度的题
思路:建立结构体存储字母和出现次数,最后通过好写的稳定的冒泡排序解决保持ASCII码顺序的问题
#include
using namespace std;
struct pl{
char let;
int letpl=0;
};
pl tj[27];
pl tmp;
int main(){
freopen("code.in","r",stdin);
freopen("code.out","w",stdout);
string str;
cin>>str;
for(int i=0;itj[i].letpl){
tmp.let=tj[j].let;
tj[j].let=tj[i].let;
tj[i].let=tmp.let;
tmp.letpl=tj[j].letpl;
tj[j].letpl=tj[i].letpl;
tj[i].letpl=tmp.letpl;
}
}
}
for(int i=0;i<26;i++){
if(tj[i].letpl==0){
return 0;
}
cout<
4.达到分数线的人数
时间限制:1秒 内存限制:128M
题目描述
高三联考刚刚结束,经过各科老师的努力,各个学科的改卷工作终于结束了,每位同学的各科分数也已经结算完毕。此时,校长拿到了清华大学的理科预估分数线k,可是每位同学的总分还没有计算出来。每位同学共有m门成绩,包括语文、数学、外语、综合、体育等。
校长请你帮忙,统计一下,总分可以达到清华大学分数线的同学人数。(总分大于或等于分数线即可)
输入描述输入文件:score.out
第一行三个整数n,m和k,分别表示参加考试的人数,考试门数和预估分数线。
1<=n<=1000, 3<=m<=7,600<=k<=810,。
接下来n行,每行m个整数,表示每位同学的m门学科的成绩。成绩0<=x<=300。输出描述
输出文件:score.out
一个整数,表示达到分数线的人数。
样例
输入
3 5 721
123 141 136 288 56
103 120 111 250 50
133 130 141 270 58输出
2
傻逼题。
#include
using namespace std;
int main(){
freopen("score.in","r",stdin);
freopen("score.out","w",stdout);
int n,m,yg,tmpsum,intmp,ans=0;
cin>>n>>m>>yg;
for(int i=0;i>intmp;
tmpsum+=intmp;
}
if(tmpsum>=yg){
ans++;
}
}
cout<
最后提醒大家一定要初始化计数数组!这种傻逼错误我再也不会犯了55555