题目链接:http://codeforces.com/contest/777/problem/D

题意:给出n行以#开头的字符串,从原字符串尾部删除尽量少的字符串,使其为非降序排列。

思路:我们可以从最后一个字符串着手,对其前面的字符串进行删除操作,使其不大于前者。遍历到第一个字符串时就得到了我们所需要的字符串啦。

代码:

 #include <bits/stdc++.h>
using namespace std; const int MAXN=5e5+;
string gg[MAXN];
char cc[MAXN]; int main(void){
// ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
int n;
cin >> n;
for(int i=; i<n; i++){
scanf("%s", cc);
gg[i]=cc;
}
for(int i=n-; i>=; i--){
for(int j=; gg[i][j]; j++){
if(gg[i][j]>gg[i+][j]){
gg[i][j]='\0';
}else if(gg[i][j]<gg[i+][j]){
break;
}
}
}
for(int i=; i<n; i++){
// cout << gg[i].c_str() << endl;
printf("%s\n", gg[i].c_str()); //c_str():生成一个const char*指针,指向以空字符终止的数组。
}
return ;
}

咋一看好像会超时,不过本题中并没有给出那种很极端的数据

cf777D(贪心&&c_str()函数)的更多相关文章

  1. C++ 中的C_str()函数用法

    语法: const char *c_str(); c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过 ...

  2. c_str()函数

    #include <string.h> const char *c_str(); 返回字符串地址,是一个c函数,返回类型const char*c_str()函数返回一个指向正规C字符串的指 ...

  3. 蓝桥杯第九届省赛 sscanf(),str.c_str()函数的使用

    标题:航班时间 [问题背景]小h前往美国参加了蓝桥杯国际赛.小h的女朋友发现小h上午十点出发,上午十二点到达美国,于是感叹到“现在飞机飞得真快,两小时就能到美国了”. 小h对超音速飞行感到十分恐惧.仔 ...

  4. C++ 中的 C_str() 函数用法

    转中转 ~\(≧▽≦)/~ :http://blog.csdn.net/nancy_m/article/details/7583550 语法: const char *c_str(); c_str() ...

  5. c++中的c_str()函数

    //c_str()是为了与C语言兼容,把c++中string类型的字符串返回首地址使用 #include <iostream>#include <string.h>using ...

  6. c++中c_str()函数

    https://zhidao.baidu.com/question/104592558.html

  7. 题目1003:A+B ---c_str(),atoi()函数的使用;remove , erase函数的使用

    #include<stdio.h> #include<stdlib.h> int sw(char *a){ ,c=; while(a[i]){ ') c=c*+a[i]-'; ...

  8. c++ std::string.c_str()

    语法: const char *c_str();搜索 c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过 ...

  9. c_str 以及atoi

    const char *c_str();c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类 ...

随机推荐

  1. svn 出现冲突时可以使用 meld . 命令合并。 而git的冲突合并详见内容

    1.可以在任意目录使用 git mergetool --tool-help    查看 git 所支持的merge tools. 2.可以使用如下配置去设置merge tool 和 diff tool ...

  2. kinect/xiton 的环境搭建 + rgb图像和深度图的标定

    ~ 软件下载地址 openni https://structure.io/openni https://github.com/OpenNI/OpenNI2 其他软件建议直接下载或通过某宝购买配套的 ~ ...

  3. c# &与&& 和 |与||的区别(转载)

    &:按位与,对两个条件都进行判断&&:逻辑与,只要一个条件满足,另外一个条件就不会执行 同理:|:按位或,对两个条件都进行判断||:逻辑或,只要一个条件满足,另外一个条件就不会 ...

  4. linux系统调用mount全过程分析【转】

    本文转载自:https://blog.csdn.net/skyflying2012/article/details/9748133 系统调用本身是软中断,使用系统调用,内核也陷入内核态,异常处理,找到 ...

  5. js中的window.open返回object的错误

    系统中用javascript中的window.open后,页面返回了一个[object].因为系统的原因,必需使用href="javascript:window.open()"这样 ...

  6. VLAN(虚拟局域网)划分

    VLAN根据不同的需求,可以有多种划分方式: 一:静态划分 基于端口             按VLAN交换机上的物理端口和内部的PVC(永久虚电路)端口来划分 静态划分安全.可靠,易于配置与维护 二 ...

  7. python之menu

    只有主菜单没有二级菜单的例子: from tkinter import * root=Tk() root.wm_title('同济大学财务管理系统') menubar=Menu(root)#指定菜单实 ...

  8. PHP的引用详解【转】

    摘自:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/09/10/2173092.html 官方文档: 1.引用是什么:http://ww ...

  9. Ajax不能接受php return值的原因

    PHP在处理ajax返回值的时候,如果使用return如 return $result会失败,echo $result却没问题.解释原因如下: 1.ajax请求从服务器端读取返回值,而且这些返回值必须 ...

  10. poj-2336 Ferry Loading II(dp)

    题目链接: Ferry Loading II Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3946   Accepted: ...