第一次玩ACM。。。有点小紧张小兴奋。这题目好难啊,只是网赛就这么难。。。只把最简单的两题做出来了。

题目1:


代码:

//#define _ACM_
#include<iostream>
#include<cstring>
#include<string>
#include<vector>
#include<map>
#include<set>
using namespace std; char line[111], word[111];
int T(0);
struct CAT{
//string N; //name of current category
map<string, CAT> C; //categorys
set<string> B; //books
void show(const int sp) const{
for (const auto &r : C) {
for (int i = 0;i < sp;++i) printf(" ");
printf("%s\n", r.first.c_str());
r.second.show(sp+1);
}
for (const auto &r : B) {
for (int i = 0;i < sp;++i) printf(" ");
printf("%s\n", r.c_str());
}
}
}; int main()
{
#ifdef _ACM_
#define gets(T) gets_s(T, 111)
freopen("in.txt", "r", stdin);
#endif while (gets(line)) {
map<string, CAT> cat;
do {
CAT* pc(NULL);
char *p(word);
for (char *pl(line);*pl != '\0';++pl) {
if (*pl != '/') *p++ = *pl;
else {
*p = '\0';p = word;
if (pc == NULL) pc = &cat[word];
else pc = &(pc->C[word]);
}
}
*p = '\0';
pc->B.insert(word);
} while (gets(line) && strcmp(line, "0"));
printf("Case %d:\n", ++T);
for (const auto &r : cat) {
printf("%s\n", r.first.c_str());
r.second.show(1);
}
}
return 0;
}

题目3:


代码:

//#define _ACM_
#include<iostream>
#include<string>
#include<map>
using namespace std; inline bool isch(char c) { return c >= 'a' && c <= 'z'; } char ch, line[555], word[555];
string pr;
map<string, unsigned> phs;
int main()
{
#ifdef _ACM_
#define gets(T) gets_s(T, 555)
freopen("in.txt", "r", stdin);
#endif ch = getchar();
while (true) {
char *p(word);
while (isch(ch)) {
*p++ = ch;
ch = getchar();
}
*p = '\0';
bool ispunc(false);
while (ch != EOF && !isch(ch) && ch != '#') {
if (ch == ',' || ch == '.' || ch == '\n') ispunc = true;
ch = getchar();
}
if (ch == EOF) break;//the end of test file
else if (ch == '#') {//the end of current text
if (!pr.empty()) ++phs[pr + ' ' + word];
if (ispunc) pr.clear();
else pr = word;
unsigned maxu = 0;
string maxs;
for (const auto& r : phs)
if (r.second > maxu) maxu = r.second, maxs = r.first;
printf("%s:%u\n", maxs.c_str(), maxu);
phs.clear(), pr.clear();
getchar(), getchar(), getchar(), getchar();
ch = getchar();
}
else {//find a word/phrase
if (!pr.empty()) ++phs[pr + ' ' + word];
if (ispunc) pr.clear();
else pr = word;
}
}
return 0;
}

[刷题]ACM/ICPC 2016北京赛站网络赛 第1题 第3题的更多相关文章

  1. [刷题]ACM ICPC 2016北京赛站网络赛 D - Pick Your Players

    Description You are the manager of a small soccer team. After seeing the shameless behavior of your ...

  2. HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛)

    HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛) Panda Time Limit: 10000/4000 MS (Java/Others)    Memory Limit: ...

  3. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛D-80 Days--------树状数组

    题意就是说1-N个城市为一个环,最开始你手里有C块钱,问从1->N这些城市中,选择任意一个,然后按照顺序绕环一圈,进入每个城市会有a[i]元钱,出来每个城市会有b[i]个城市,问是否能保证经过每 ...

  4. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 80 Days(尺取)题解

    题意:n个城市,初始能量c,进入i城市获得a[i]能量,可能负数,去i+1个城市失去b[i]能量,问你能不能完整走一圈. 思路:也就是走的路上能量不能小于0,尺取维护l,r指针,l代表出发点,r代表当 ...

  5. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛-B:Tomb Raider(二进制枚举)

    时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Lara Croft, the fiercely independent daughter of a missing adv ...

  6. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛

    题意:到一个城市得钱,离开要花钱.开始时有现金.城市是环形的,问从哪个开始,能在途中任意时刻金钱>=0; 一个开始指针i,一个结尾指针j.指示一个区间.如果符合条件++j,并将收益加入sum中( ...

  7. hihoCoder #1831 : 80 Days-RMQ (ACM/ICPC 2018亚洲区预选赛北京赛站网络赛)

    水道题目,比赛时线段树写挫了,忘了RMQ这个东西了(捞) #1831 : 80 Days 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 80 Days is an int ...

  8. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 A、Saving Tang Monk II 【状态搜索】

    任意门:http://hihocoder.com/problemset/problem/1828 Saving Tang Monk II 时间限制:1000ms 单点时限:1000ms 内存限制:25 ...

  9. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 B Tomb Raider 【二进制枚举】

    任意门:http://hihocoder.com/problemset/problem/1829 Tomb Raider 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 L ...

随机推荐

  1. QConf简要搭建过程

    QConf的组件: ZooKeeper as the server, restore all configurations, so the limit data size of single conf ...

  2. Jenkins集成Docker

    大概过程如下图: 由于需要用到docker打包镜像,jenkins宿主机上需要安装docker,原先的jenkins server安装在centos6上无法运行docker,所以这里单独用一台cent ...

  3. 【C++】智能指针详解(二):auto_ptr

    首先,我要声明auto_ptr是一个坑!auto_ptr是一个坑!auto_ptr是一个坑!重要的事情说三遍!!! 通过上文,我们知道智能指针通过对象去管理指针,在构造对象时完成资源的分配及初始化,在 ...

  4. Html5-测试Canvas

      // 浏览器不支持Html5 Canvas"; var theCanvas=document.getElementById("canvas_one"); if(!th ...

  5. Influxdb1.2.2安装_Windows

    一.文件准备 1.1 文件名称 influxdb-1.2.2_windows_amd64.zip 1.2 下载地址 https://portal.influxdata.com/downloads [注 ...

  6. ElasticSearch集群安装配置

    1. 环境说明 Cent OS 7 jdk-8u121-linux-x64.tar.gz elasticsearch-5.2.1.zip 2. 系统环境配置 新建进程用户 修改File Descrip ...

  7. struts2 之 【struts2简介,struts2开发步骤,struts2详细配置,struts2执行流程】

    入门框架学习避免不了的问题: 1. 什么是框架? 简单的说,框架就是模板,模子,模型.就是一个可重用的半成品. 2. 如何学习框架? 学习框架其实就是学习规则,使用框架就是遵循框架的规则,框架是可变的 ...

  8. js解析器(重要!)

    JavaScript有"预解析"的特性,理解预解析是很重要的,不然在实际开发中可能会遇到很多无法解析的问题,甚至导致程序bug的存在. #js预解析执行过程: 预解析:(全局作用域 ...

  9. androidStudio通过svn进行版本控制

    andoridStudio配置使用svn(以windows为例) 1.先安装svn客户端程序,TortoiseSVN,注意安装过程中要勾选command line client tools(默认是不安 ...

  10. Python HTMLTestRunner生成网页自动化测试报告时中文编码报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6

    1. 由于使用Python Selenium做网页自动化测试时,有截取网页上的中文信息保存到测试结果中,最终出现编码错误如下: File "D:/PycharmProjects/AutoTe ...