APTX博客

  • ACGN
  • Coding
  • DevOps
  • Daily
  • Share
  • Bangumi
APTX Blog
A Moe Blog Set Up By ミズキ
  1. 首页
  2. OI
  3. 正文

#洛谷#C/C++P4470 [BJWC2018]售票

2018年4月24日 2352点热度 0人点赞 0条评论

题目描述

C 市火车站最近出现了一种新式自动售票机。买票时,乘客要先在售票机上输入终点名称。一共有N 处:目的地,随着乘客按顺序输入终点名称的每个字母,候选终点站数目会逐渐减少。

在自动售票机屏幕上,有一个4 行8 列的键盘,如下图所示。

在乘客每输入一个字母后,键盘上只有有效字符是可选的(取决于还有哪些候选终点站),其余的字母会被字符'*' 取代。

告诉你N 处目的地的名称,以及乘客已经输入的若干字符,请你输出键盘目前的状态。

输入输出格式

输入格式:

第一行为一个整数N (1≤N ≤50)。接下来N 行,每行一个由大写英文字母组成的长度不超过100 的字符串,表示一处目的地。最后一行,一个长度不超过100 的字符串,表示按顺序输入的若干字符。

输出格式:

输出4 行,每行一个长度为8 的字符串,表示键盘状态。

输入样例#1:

4
ZAGREB
SISAK
ZADAR
ZABOK
ZA

输出样例#1:

****B*D*
*G******
********
********
********

说明

【样例解释】

输入ZA 以后,下一个字符可能是G(终点站有可能是ZAGREB),或D(终点站有可能是ZADAR ),或B(终点站有可能是ZABOK )。

本人提供的题解

简单的模拟,注意,千万别开ios的那个同步,全WA

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<string>
#include<cstring>
using namespace std;

const int maxn(55);
string tmp[maxn];
string a[4]={ 
	"***ABCDE",
	"FGHIJKLM",
	"NOPQRSTU",
	"VWXYZ***",
};
bool vis[4][9]={0}; //标记 
string temp;
inline void work(char);
inline void print(void);

int main(){
	//ios::sync_with_stdio(false); 别开这个 
	int n;
	scanf("%d",&n);
	for(int i=0;i<n;++i){
		cin>>tmp[i];
		transform(tmp[i].begin(),tmp[i].end(),tmp[i].begin(),::toupper); //转换成大写 
	}
	cin>>temp;
	transform(temp.begin(),temp.end(),temp.begin(),::toupper);//转换成大写 
	int len=temp.length();
	for(int i=0;i<n;++i){
		string t=tmp[i].substr(0,len); //截取字符串 
		if(t!=temp) continue; //如果不相等的话就不进行判断 
		else {
			char c=tmp[i][len];
			work(c);
		}
	}
	print();
	return 0;
}
inline void work(char c){
	for(int i=0;i<4;++i){
		for(int j=0;j<8;++j){
			if(a[i][j]==c){
				vis[i][j]=1; //标记 
				break;
			}
		}
	}
}
inline void print(void){
	for(int i=0;i<4;++i){
		for(int j=0;j<8;++j){
			if(vis[i][j]==true) cout<<a[i][j]; //如果被标记就输出 
			else cout<<"*"; //否则输出* 
		}
		cout<<endl; //换行 
	}
}

 

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: C/C++ C++ 字符串 模拟 洛谷
最后更新:2018年4月24日

神楽坂 みずき

萌萌萌,好萌!

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

神楽坂 みずき

萌萌萌,好萌!

搜索
最新 热点 随机
最新 热点 随机
上岸 Star Divine 现代前端工程师发展方向不完全指北 站点域名变更通知 私たちの居る理由 《サクラノ詩》VI 章 直哉与蓝对话
WordPress缩略图显示随机图片 HDU 1806 Frequent values(区间RMQ问题)题解 为Wordpress添加连接管理器(LinkManager)功能 中行天依小柠檬借记卡已收到 #动漫#《学园孤岛》OP/ED/角色歌下载 POJ 3233 Matrix Power Series(矩阵快速幂+二分)题解
标签聚合
ST C++ HTML OI 动漫 日常 C/C++ 洛谷
分类
  • ACGN
  • Coding
  • Daily
  • DevOps
  • OI
  • Share

COPYRIGHT © 2017-2022 APTX博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang