P1603 斯诺登的密码-字符串加法的妙用
传送门:https://www.luogu.org/problemnew/show/P1603
题意:
首先在给定的字符串中,找出特定的单词,把它转化成特定的数字,
然后在这些数字中,找出排列结果最小的一种排列;
思路:
第一步就是打表就ok,第二步,可以用字符串加法结果的大小进行排序;
遇到“找出所有排列方法中最小的一个数”,可能就要怎么做;
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <vector>
#include <string>
#define pb push_back
using namespace std;
typedef long long ll; vector<string>q;
bool cmp (string a,string b)
{
return a+b < b+a;
}
int main(){
string s;
while(cin>>s)
{
if(s=="one"||s=="a"||s=="another"||s=="first")q.pb("");
if(s=="two"||s=="both"||s=="second")q.pb("");
if(s=="three"||s=="third")q.pb("");
if(s=="four")q.pb("");
if(s=="five")q.pb("");
if(s=="six")q.pb("");
if(s=="seven")q.pb("");
if(s=="eight")q.pb("");
if(s=="nine")q.pb("");
if(s=="ten")q.pb("");
if(s=="eleven")q.pb("");
if(s=="twelve")q.pb("");
if(s=="thirteen")q.pb("");
if(s=="fourteen")q.pb("");
if(s=="fifteen")q.pb("");
if(s=="sixteen")q.pb("");
if(s=="seventeen")q.pb("");
if(s=="eighteen")q.pb("");
if(s=="nineteen")q.pb("");
if(s=="twenty")q.pb("");
//break;
if(s[s.length()-]=='.')break; }
sort(q.begin(),q.end(),cmp);
bool isout=false;
bool canout=false;
string a="";
for(int i=;i<q.size();i++)
a+=q[i];
for(int i=;i<a.length();i++)
{
if(a[i]!='') canout=true;
if(a[i]==''&&!canout)continue;
cout<<a[i];
isout=true;
}
if(!isout)cout<<"";
cout<<endl;
return ;
}
P1603 斯诺登的密码-字符串加法的妙用的更多相关文章
- 洛谷P1603——斯诺登的密码(字符串处理)
https://www.luogu.org/problem/show?pid=1603#sub 题目描述 2013年X月X日,俄罗斯办理了斯诺登的护照,于是他混迹于一架开往委内瑞拉的飞机.但是,这件事 ...
- P1603 斯诺登的密码
题目背景 根据斯诺登事件出的一道水题 题目描述 题目描述 2013年X月X日,俄罗斯办理了斯诺登的护照,于是他混迹于一架开往委内瑞拉的飞机.但是,这件事情太不周密了,因为FBI的间谍早已获悉他的具体位 ...
- 洛谷P1603 斯诺登的密码(水题
不知道什么时候打开的,随手做掉了,没什么用...大概又熟悉了一下map吧...大概........一开始还因为没读清题没把非正规的英文表示数字存进去wa了...orz最近状态不行 题目描述 题目描述 ...
- (Java实现) 洛谷 P1603 斯诺登的密码
题目背景 根据斯诺登事件出的一道水题 2013年X月X日,俄罗斯办理了斯诺登的护照,于是他混迹于一架开往委内瑞拉的飞机.但是,这件事情太不周密了,因为FBI的间谍早已获悉他的具体位置--但这不是最重要 ...
- P1603 斯诺登的密码(JAVA语言)
//这题有点坑 题目背景 根据斯诺登事件出的一道水题 题目描述 题目描述 2013年X月X日,俄罗斯办理了斯诺登的护照,于是他混迹于一架开往委内瑞拉的飞机.但是,这件事情太不周密了,因为FBI的间谍早 ...
- (水题)洛谷 - P1603 - 斯诺登的密码
https://www.luogu.org/problemnew/show/P1603 有毒,大小写不检测,句号也不管. #include<bits/stdc++.h> using nam ...
- 洛谷P1603 斯诺登的密码
https://www.luogu.org/problem/P1603 #include<bits/stdc++.h> using namespace std; struct s { st ...
- 洛谷 P1603 斯诺登的密码
我一开始还没看懂非正规数字的意义,以为那里写的单词不算,蒙了好久,而且这题非常考验仔细程度,一不小心就RE,WA. 嗯,好像讲了些废话,那我们看看思路,我的做法和前面的大佬们有些不同,因为这题只有六个 ...
- python 字符串实例:检查并判断密码字符串的安全强度
检查并判断密码字符串的安全强度 import string def check(pwd): #密码必须至少包含六个字符 if not isinstance(pwd,str) or len(pwd)&l ...
随机推荐
- JS面向对象编程(一):封装
js是一门基于面向对象编程的语言. 如果我们要把(属性)和(方法)封装成一个对象,甚至要从原型对象生成一个实例,我们应该怎么做呢? 一.生成对象的原始模式 假定把猫看 ...
- Java连载10-数据类型取值范围&转义字符
一.数据类型取值范围 二.八种数据类型在成员变量中的默认值 (1)成员变量,没有赋值,编译不会报错,系统会自动给赋值 byte\int\short\long默认值为0:float\double默认值为 ...
- codeforces 318 A.Even Odds B.Sereja and Array
A.Even Odds 给你n和k, 把从1到n先排奇数后排偶数排成一个新的序列,输出第k个位置的数. 比如 10 3 拍好后就是 1 3 5 7 9 2 4 6 8 10 第3个数是5. // ...
- TensorFlow神经网络机器学习使用详细教程,此贴会更新!!!
运行 TensorFlow打开一个 python 终端: $ python >>> import tensorflow as tf >>> hello = tf.c ...
- CentOS7使用yum安装ceph rpm包
1. 安装centos7对扩展repo的支持yum install yum-plugin-priorities保证下面的选项是开启的[main]enabled = 1 2. 安装 release.ke ...
- 使用python画2D线条
"""用于验证整体趋势正确性,不做关闭操作时保持显示""" #!python3 #-*- coding:utf-8 -*- import m ...
- linux装OpenOffice后传---中文乱码的解决
上一篇的博客已经详细的介绍了linux系统上如何安装OpenOffice,安装之后使用发现转换的pdf出现中文乱码.后来发现是linux上没有中文对应的那个字体. 字体准备 在windows上的位置 ...
- 利用DoHome APP和音箱控制继电器通断电实验参考步骤
准备材料: Arduino Uno 一块 Arduino 扩展板 购买链接 DT-06模块一个 购买链接 安卓手机一个 小度音箱一个 继电器模块一个 杜邦线若干 1.DT-0 ...
- 【win】【qt5打包】【qt程序打包成一个可执行文件(带图标任何win都可以运行哦)】
[前言] 业务需求将qt程序打包成win可执行文件.咱是做linux的,奈何用的麒麟系统,程序运行在win,好嘛,重新在win qtcreator编译后打包呗. [目标] 1.给qt程序添加一个图标. ...
- Consul的反熵
熵 熵是衡量某个体系中事物混乱程度的一个指标,是从热力学第二定律借鉴过来的. 熵增原理 孤立系统的熵永不自动减少,熵在可逆过程中不变,在不可逆过程中增加.熵增加原理是热力学第二定律的又一种表述,它更为 ...