Airport Announcements URAL
来源:互联网 发布:淘宝联盟点击赚钱 编辑:程序博客网 时间:2024/06/09 19:26
题目描述:这哥们在机场听公告,假设机场说的公告每种语言含有的短语数是相同的,他有的词能听出什么语言,有的词听不出就是“unknown”,问一共有多少种语言,多种满足情况按照从大到下的顺序输出。
解题分析:简单模拟就好,没什么难度。
代码如下:
#include <cstdio>#include <string>#include <iostream>#include <iostream>#include <cstdio>#include <algorithm>#include <vector>#include <set>#include <map>using namespace std;vector <string> phrase;int n;set <int> ans;bool solve(int m){ set <string> lang; for(int i=0; i<n; i+=m) { string cur; for(int j=0; j<m; j++) { if(phrase[i+j]!="unknown") { if(cur.empty()) { cur=phrase[i+j]; } else { if(cur!=phrase[i+j]) return false; } } } if(!cur.empty()) { if(!lang.count(cur)) { lang.insert(cur); } else { return false; } } } return true;}int main(){ string str; scanf("%d",&n); for(int i=0; i<n; i++) { cin >> str; phrase.push_back(str); } for(int i=1; i<=n; i++) { if(n%i==0) if(solve(i)) ans.insert(n/i); } if(ans.empty()) cout << "Igor is wrong." << endl; else { set <int >::iterator it; for(it=ans.begin();it!=ans.end();it++) { if(it==ans.begin()) cout << *it; else cout << " " << *it ; } cout << endl; } return 0;}//这是当初彬佬所写,为了省时间给每个字符串编了个号,但实际上这题数据很少,不耗时间,下面是不编号的代码,和上面的时间相同。#include <iostream>#include <cstdio>#include <algorithm>#include <vector>#include <set>#include <map>using namespace std;vector <string> phrase;int n;set <int> ans;bool solve(int m){ set <string> lang; for(int i=0; i<n; i+=m) { string cur; for(int j=0; j<m; j++) { if(phrase[i+j]!="unknown") { if(cur.empty()) { cur=phrase[i+j]; } else { if(cur!=phrase[i+j]) return false; } } } if(!cur.empty()) { if(!lang.count(cur)) { lang.insert(cur); } else { return false; } } } return true;}int main(){ string str; scanf("%d",&n); for(int i=0; i<n; i++) { cin >> str; phrase.push_back(str); } for(int i=1; i<=n; i++) { if(n%i==0) if(solve(i)) ans.insert(n/i); } if(ans.empty()) cout << "Igor is wrong." << endl; else { set <int >::iterator it; for(it=ans.begin();it!=ans.end();it++) { if(it==ans.begin()) cout << *it; else cout << " " << *it ; } cout << endl; } return 0;}
阅读全文
0 0
- Airport Announcements URAL
- URAL 1889. Airport Announcements 模拟题
- URAL 1889. Airport Announcements(数学啊 )
- ural 1889 Airport Announcements (暴力模拟)
- Timus 1889. Airport Announcements
- Airport Announcements(NEERC 2011 Eastern Subregional)
- URAL 1600 Airport
- Airport
- WCF News and Announcements
- Products Announcements www.cemu.cn
- Download Links for MIX08 Announcements
- URAL
- 【ural】
- URAL
- URAL
- URAL
- URAL
- URAL
- IntelliJ IDEA开发Spark、打JAR包
- idea使用心得
- staruml文字换行
- Linux虚拟机下载和安装
- Vuejs(16)——Vue插件写、用详解(附demo)
- Airport Announcements URAL
- QT定时器使用的实例
- 算法设计与应用基础:第十四周(2)
- 【一】面向对象设计
- SpringMVC常用注解
- 初试01字典树(求异或问题)
- C语言之--volatile关键字
- vue2.0--组件通信(非vuex法)
- ArcGIS中的三种查询