题目1525:子串逆序打印

时间限制:1 秒

内存限制:128 兆

特殊判题:

提交:3124

解决:530

题目描述:

小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串的每个子串都打印反了,现在麻烦你帮小明将这些字符串中的子串修正过来,同时为了使卡片美观,压缩其中的连续空格为1个。

输入:

输入包含多个测试用例,每个测试用例的第一行是一个正整数 n,1=<n<=100000,代表卡片上字符串的长度。第二行输入长度为n的字符串(字符串仅包含小写字母和空格)。当n为0时,代表输入结束。

输出:

对应每个测试用例,请按照要求输出修正过的字符串。

样例输入:
3
abc
13
abc efg hij
样例输出:
cba
cba gfe jih
分析:本题遇到了比较多的问题,读入一行后,我一开始是判断abc是个串之后直接将其逆序一个一个字母输出,然后
直接输出一个空格。。。试了很久案例未能全部ac,原因是:一开始没有看懂题目那句话:压缩其中的连续空格为1个。我自己编码的意思
是逆序输出一个子串后空一格,实际上不是这个意思,题意是说有多个空格则只输出一个空格,子串逆序输出,比如一开始连续三个
空格,则首先要输出一个空格。。就这个意思。
总结:题意要弄明白,需求很重要,否则很浪费时间。以下是代码:
 #include <iostream>
#include <cstdio>
#include <vector>
#include <string>
using namespace std;
int main(){
int n, i, j, flag;
vector<string> v;
string s, str;
while(cin >> n){
if(n == )
break;
v.clear();
getchar();
getline(cin, s);
for(i = ; i < n;){
flag = ;
str = "";
while(s[i] != ' ' && i < n){
str += s[i];
i++;
}
while(str == "" && s[i] == ' ' && i < n){
flag = ;
i++;
}
if(flag == )
v.push_back(str);
else{
str += ' ';
v.push_back(str);
}
}
for(j = v[].length() - ; j >= ; j--)
cout << v[][j];
for(i = ; i < v.size(); i++){
for(j = v[i].length() - ; j >= ; j--)
cout << v[i][j];
}
cout << endl;
}
//system("pause");
return ;
}
 

九度oj 题目1525:子串逆序打印的更多相关文章

  1. 九度oj 题目1058:反序输出

    题目1058:反序输出 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:9677 解决:3495 题目描述: 输入任意4个字符(如:abcd), 并按反序输出(如:dcba) 输入: 题目可 ...

  2. 九度OJ 1525 子串逆序打印 -- 2012年Google校园招聘笔试题目

    题目地址:http://ac.jobdu.com/problem.php?pid=1525 题目描述: 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串 ...

  3. 九度oj 1525 子串逆序打印

    原题链接:http://ac.jobdu.com/problem.php?pid=1525 字符串简单题,注意开有结尾有空格的情况否则pe or wa #include<algorithm> ...

  4. 九度OJ 题目1384:二维数组中的查找

    /********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ...

  5. hdu 1284 关于钱币兑换的一系列问题 九度oj 题目1408:吃豆机器人

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  6. 九度oj题目&amp;吉大考研11年机试题全解

    九度oj题目(吉大考研11年机试题全解) 吉大考研机试2011年题目: 题目一(jobdu1105:字符串的反码).    http://ac.jobdu.com/problem.php?pid=11 ...

  7. 九度oj 题目1007:奥运排序问题

    九度oj 题目1007:奥运排序问题   恢复 题目描述: 按要求,给国家进行排名. 输入:                        有多组数据. 第一行给出国家数N,要求排名的国家数M,国家号 ...

  8. 九度oj 题目1087:约数的个数

    题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...

  9. 九度OJ题目1105:字符串的反码

    tips:scanf,cin输入字符串遇到空格就停止,所以想输入一行字符并保留最后的"\0"还是用gets()函数比较好,九度OJ真操蛋,true?没有这个关键字,还是用1吧,还是 ...

随机推荐

  1. [SHOI2002]取石子游戏之三

    Wythoff's Game,详解请见浅谈算法--博弈论中的例6 /*program from Wolfycz*/ #include<cmath> #include<cstdio&g ...

  2. SimpleDateForma类

    package Format_daqo; import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDa ...

  3. libtool版本过新的问题

      安装过程中出现: libtool: Version mismatch error. This is libtool 2.4.2, but the libtool: definition of th ...

  4. solr之~模糊查询【转】

    solr之~模糊查询 有的时候,我们一开始不可能准确地知道搜索的关键字在 Solr 中查询出的结果是什么,因此,Solr 还提供了几种类型的模糊查询.模糊匹配会在索引中对关键字进行非精确匹配.例如,有 ...

  5. Rxjava2的学习与总结

    博客地址:https://luhaoaimama1.github.io/2017/07/31/rxjava/

  6. 安卓(Android )软键盘的控制(显示和隐藏)

    Activity 启动时软键盘默认状态 在清单文件(manifest .xml)中可以通过在 Activity 标签中增加属性控制软键盘的默认状态: android:windowSoftInputMo ...

  7. spark shuffle:分区原理及相关的疑问

    一.分区原理 1.为什么要分区?(这个借用别人的一段话来阐述.) 为了减少网络传输,需要增加cpu计算负载.数据分区,在分布式集群里,网络通信的代价很大,减少网络传输可以极大提升性能.mapreduc ...

  8. iOS Programming Editing UITableView

    iOS Programming Editing UITableView 1.1 Editing mode  UITableView has an editing property, and when ...

  9. pythno学习小结-替换python字典中的key值

    源: d={'a':1,'b':2,'c':3} 目标:key:'b'替换为'e' d={'a':1,'e':2,'c':3} 方法: d['e']=d.pop('b')

  10. leetcode_378. Kth Smallest Element in a Sorted Matrix_堆的应用

    Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth ...