2014暑假第一天解题总结
来源:互联网 发布:卖淘宝号属于犯法吗 编辑:程序博客网 时间:2024/05/17 22:57
UVa10878(Decode the tape)
这个题他的题目描述较少,一开始看根本不知道它在说什么,->_<-,然后去BAIDU了,
题目要点:用' '(space)来表示数字‘0’,用'o'(小写)表示数字‘1’,然后其他的输入就忽略掉,然后将由‘0’ ‘1’组成的2进 制数转化为对应的acsii码输出。附上代码:
#include <cstdio>using namespace std;int main(){ char buf[20]; int temp = 0; while(fgets(buf, 20, stdin) != NULL) { temp = 0; if(buf[0] == '_') continue; ///如果是一行下划线,就直接忽略 for(int i = 1; i < 10; ++i) { if(buf[i] == 'o') temp = 2 * temp + 1; ///如果是‘o’,就进位加1 else if(buf[i] == ' ') temp = 2 * temp; ///如果是‘ ’,就进位 } putchar(temp); ///将对应ascii码值输出 } return 0;}
UVa11292(Dragon of Loowater)
题目分析:看所雇佣的骑士是否能杀掉所有Dragon,如果能的话,就算出雇佣骑士花费的最少钱。
能杀掉Dragon是有条件的
#include <cstdio>#include <algorithm>using namespace std;const int max_size = 20005;int main(){ int n,m; int tag1, tag2; int spend; int nn[max_size], mm[max_size]; while(scanf("%d %d", &n, &m) != EOF && (n+m) != 0) { tag1 = tag2 = 0; for(int i = 0; i < n; ++i) ///存储Dragon的信息 scanf("%d", &nn[i]); for(int i = 0; i < m; ++i) ///存储骑士的信息 scanf("%d", &mm[i]); sort(nn, nn+n); ///利用sort函数直接对信息进行排序 sort(mm, mm+m); spend = 0; for(tag1 = 0; tag1 < n; tag1++) { if(tag2 >= m) break; ///tag1是对Dragon的信息进行标记,tag2是对骑士信息进行标记 while(tag2 < m && nn[tag1] > mm[tag2]) tag2++; ///如果满足tag2的值还在骑士数量之内,并且骑士不能杀掉dragon,就让tag2++,直到条件不被满足 if(tag2 >= m) break; ///如果tag2超出m,就break spend += mm[tag2]; ///能走到这步,就将花费记下来 tag2++; } if(tag1 < n) printf("Loowater is doomed!\n"); ///如果if成立,就说明tag2 >= m ,即没有足够的骑士去杀dragon else printf("%d\n",spend); ///否则输出最小花费 } return 0;}
sort()包含在 #include<algorithm>中 复杂度是O(N*lgN)
void sort(RanIt first, RanIt last); //默认的sort函数是按升序排。RanIt first &RanIt last 分别表示要排数组的头尾 比如arry[100], 就写成sort(arry, arry+100);
排序的数据类型不局限于整数,只要是定义了小于运算的类型都可以,比如字符串类string。
void sort(RanIt first, RanIt last, Pred pr); // 可以自己写一个函数,按特定意图进行排序。返回值是bool型
sort详细学习,见STL sort函数简介
0 0
- 2014暑假第一天解题总结
- 暑假第一天总结
- 暑假第一天
- 暑假作战第一天
- 小记暑假第一天
- 暑假集训第一天
- 暑假集训第一天
- java入门 暑假第一天
- 2017暑假集训第一天
- 暑假第七天总结
- T_SQL 多表查询 暑假第一天
- 暑假第一天 7月6日
- 杭电2055(暑假第一天)
- 参加acm暑假训练第一天
- 暑假博客——ML第一天
- 2017.7.31 暑假集训第一天
- 暑假集训第一周总结
- 暑假留校--第一周总结
- KVC & KVO 理解
- sencha touch 加载数据等待图标
- 项目终于要完结了,我也快要兑现我的当初的承诺了
- 算导 快速选择第i小元素
- Mac 终端之iterm2 初使用
- 2014暑假第一天解题总结
- 中断处理
- HTML特殊字符大全
- C语言程序编译的内存分配:
- 代码页即地狱
- JAVA的WebService支持
- display:inline-block
- 学习笔记_android四种点击事件方法
- Linux下C++的通用Makefile与解析