#include<bits/stdc++.h>
//#include <sstream> // if want to use stringstream
using namespace std; const int N=; struct node{
string c;
bool has_c,can_has_c,bk,vis;
}a[N];
string s,c;
int sl; void init()
{
getline(cin,s);
sl=s.size();
for(int i=;i<=;i++) a[i].bk=,a[i].vis=,a[i].can_has_c=,a[i].has_c=;
for(int i=;i<sl;i++)
{
int now=s[i]-'a'+;
a[now].bk=;
a[now].can_has_c=;
if(i+<sl && s[i+]==':')
{
i++;
a[now].can_has_c=;
}
}
} void getnext()
{
c="";
while(sl<s.size())
{
if(s[sl]==' ' || s[sl]=='\n') {sl++;break;}
c+=s[sl];sl++;
//if(!((s[sl]>='a' && s[sl]<='z') || (s[sl]>='0' && s[sl]<='9') || s[sl]=='-')) {sl++;break;}
}
} void solve()
{
for(int i=;i<=;i++) a[i].has_c=,a[i].vis=;
sl=;
getline(cin,s);
getnext();
while()
{
getnext();
if(c.size()==) return;
if(c[]=='-')
{
int now=c[]-'a'+;
if(!a[now].bk) return;
a[now].vis=;
if(a[now].can_has_c)
{
getnext();
if(c.size()==)
{
if(!a[now].has_c) a[now].vis=;
return ;
}
a[now].has_c=;
a[now].c=c;
}
}
else return ;
}
} void output()
{
for(int i=;i<=;i++)
{
if(a[i].vis) printf(" -%c",i-+'a');
if(a[i].has_c) cout << ' ' << a[i].c;
}
cout << endl;
} int main()
{
//freopen("a.in","r",stdin);
init();
int T;
scanf("%d",&T);getline(cin,s);
for(int TT=;TT<=T;TT++)
{
printf("Case %d:",TT);
solve();
output();
}
return ;
}

[csp-201403-3]命令行选项的更多相关文章

  1. Maven学习(四)Maven 命令行选项

    说明: 1.使用-选项时,和后面的参数之间可以不要空格.而使用--选项时,和后面的参数之    间必须有空格.如下面的例子: $ mvn help:describe -Dcmd=compiler:co ...

  2. 学习笔记——Maven 命令行选项

    2014-10-09:更新裁剪反应堆具体用法 说明: 1.使用-选项时,和后面的参数之间可以不要空格.而使用--选项时,和后面的参数之    间必须有空格.如下面的例子: $ mvn help:des ...

  3. Microsoft Windows Installer 工具 Msiexec.exe 的命令行选项

    摘自:http://support.microsoft.com/kb/314881/zh-cn 概要 本文列出了 Windows Installer 工具 Msiexec.exe 的命令行选项.Msi ...

  4. make的命令行选项

    make的命令行选项 -b -m 忽略,提供其它版本make兼容性. -B --always-make 强制重建所有规则的目标,不根据规则的依赖描述决定是否重建目标文件. -C DIR --direc ...

  5. PhantomJS命令行选项

    支持命令行选项有: --help或-h列出所有可能的命令行选项.立即停止,不会运行一个脚本作为参数传递. --version或-v打印的版本PhantomJS.立即停止,不会运行一个脚本作为参数传递. ...

  6. 【Python】【自动化测试】【pytest】【常用命令行选项】

    https://www.cnblogs.com/cnkemi/p/9989019.html http://www.cnblogs.com/cnkemi/p/10002788.html pytest 常 ...

  7. python 解析命令行选项

    问题: 程序如何能够解析命令行选项 解决方案 argparse 模块可被用来解析命令行选项 argparse 模块 argparse 模块是标准库中最大的模块之一,拥有大量的配置选项 dest 参数指 ...

  8. Ruby 命令行选项

    Ruby 命令行选项 Ruby 一般是从命令行运行,方式如下: $ ruby [ options ] [.] [ programfile ] [ arguments ... ] 解释器可以通过下列选项 ...

  9. CCF CSP 201403-3 命令行选项

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201403-3 命令行选项 问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些 ...

  10. CSP 命令行选项(201403-3)

    问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项.每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔.这些字符串中的第一个为该命令行工具的名字,由小写字母组成,你的程序不用 ...

随机推荐

  1. input、textArea实时显示剩余可输入的字数

    <h2>实时显示剩余可输入的字数(字母,数字,中文都算一个字)</h2> <h>昵称:</h> <div> <input type=& ...

  2. pygame学习笔记(3)——时间、事件、文字

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 1.运动速率    上节中,实现了一辆汽车在马路上由下到上行驶,并使用了pygame.time.delay(200 ...

  3. H5实现的时钟

    源码如下: <!doctype html> <html> <head></head> <body> <canvas id=" ...

  4. 第216天:Angular---自定义指令(二)

    自定义指令 1.第一个参数是指令的名字,第二个参数任然应该使用一个数组,数组的最后一个元素是一个函数.定义指令的名字,应该使用驼峰命名法 <!DOCTYPE html> <html ...

  5. SPOJ_LCS

    经典题目,求两个串的最长公共子串. 是这样来做的. 以第一个串构造SAM,第二个串在自动机上跟新一遍就可以了. 更新的过程是这样的,假设当前到达的状态点为x(初始状态为0点),下一个字符是c,如果当前 ...

  6. CSU1392(NCPC2013)_Number Trick

    给一个小数X,找个A使得:AX=(A循环左移一位) 首先,假设A为一个满足题目条件的数,有n个数位,且最高位数字为A0. 那么可列出方程:AX=(A-A0*10n-1)*10+A0 ————>& ...

  7. spring1 注册value与ref的区别

  8. winform 利用委托实现窗体传值

    父窗体:Form1    ,有个 textbox1.text ,有个button1 子窗体:Form2  ,有个 textbox1.text ,有个button1 修改Form1 的textbox1. ...

  9. 【BZOJ4804】欧拉心算

    Description 给定数字\(n\)(\(n\le 10^7\)),求: \[ \sum_{i=1}^n\sum_{j=1}^n\varphi(\gcd(i,j)) \] ​ 多组数据输入,数据 ...

  10. Fowsniff: 1靶机入侵

    一.信息收集 1.存活主机扫描 arp-scan  -l 发现192.168.1.13是目标靶机的IP地址 2.端口扫描 接下来用nmap神器来扫描目标IP地址,命令如下: root@kali2018 ...