hdoj-1058(优先队列)---priority_queue====丑数
来源:互联网 发布:淘宝网页浏览需要登录 编辑:程序博客网 时间:2024/05/21 18:05
#include<iostream>#include<cstring>#include<vector>#include<queue>#include<set>#include<algorithm>using namespace std;typedef long long LL;const int maxn = 6000;LL sv[maxn];priority_queue<LL, vector<LL>, greater<LL> > Q; //数值越小的优先级越高 set<LL> S;void pre() {S.clear();int c[4] = {2, 3, 5, 7};Q.push(1);S.insert(1);int cnt = 1;while(!Q.empty()) {LL temp = Q.top();Q.pop();sv[cnt++] = temp;LL tn;//cout << sv[cnt-1] << endl;for(int i = 0; i < 4; i++) {tn = c[i]*temp;if(!S.count(tn)) {S.insert(tn);Q.push(tn);}}if(cnt == 5850) break;} }void _print(int num) {LL n = num;if(n%10==1&&n%100!=11) printf("The %dst humble number is %lld.\n",n,sv[n]); else if(n%10==2&&n%100!=12) printf("The %dnd humble number is %lld.\n",n,sv[n]); else if(n%10==3&&n%100!=13) printf("The %drd humble number is %lld.\n",n,sv[n]); else printf("The %dth humble number is %lld.\n",n,sv[n]); } int main() {int N;pre();while(cin >> N && N) {_print(N);}return 0;}
序数词的问题真心是被搞得头痛。。。。
以1、2、3结尾的(但是其中不包括
以11、12、13结尾的)都用st、nd、rd,
其他的都用th。
0 0
- hdoj-1058(优先队列)---priority_queue====丑数
- Uva136 丑数[优先队列]
- HDU 1058 Humble Numbers(丑数,优先队列,STL)
- 丑数(递推||优先队列)
- 丑数 (using priority_queue) UVA
- 优先队列Priority_Queue
- 优先队列priority_queue
- 优先队列priority_queue
- STL priority_queue 优先队列
- STL priority_queue 优先队列
- priority_queue优先队列使用
- Priority_queue优先队列
- Priority_queue优先队列容器
- 优先队列(priority_queue)
- priority_queue 优先队列
- 优先队列priority_queue
- 优先队列priority_queue用法
- 优先队列---priority_queue
- Android APK反编译就这么简单 详解(附图)
- python scrapy 爬虫
- iOS 设计模式 - 责任链模式
- BP神经网络的反向求导
- 1002. A+B for Polynomials
- hdoj-1058(优先队列)---priority_queue====丑数
- cp命令出现omitting directory的解决方法
- java final static public private protected关键字
- 第一章:Android开发基础
- Android如何防止apk程序被反编译
- 登山-C#-关于TcpListener的AcceptTcpClient()方法造成线程阻塞,进而程序无法彻底关闭的问题
- 冒泡排序
- Android 简介及基础知识
- Python GUI:高级作图turtle模块的常用函数.md