len=0 break

len=1,f=0,ans++,保留前一行的v数组,即len不变;f=1,重新确定下一列中需要判哪一行(标记法),跟新v数组

这题思路很清晰,但是写代码的时候弄错好几个变量,列和行写反,实际上要注意不能想当然的写变量!

代码:

#include<iostream>
#include<cstdio>
#include<vector>
#include<string>
#include<cstring>
#define rep(i,a,b) for(int i=(a);i<(b);++i)
using namespace std;
#define maxn 200
char s[maxn][maxn];
int ans;
vector<int>v;
int main(){
ans=;
int n,m;
cin>>n;
rep(i,,n){
scanf("%s",s[i]);
}
m=strlen(s[]);
rep(i,,n){
v.push_back(i);
}
int col=;
while(col<m){
bool f=;
int len=v.size();
//cout<<len<<endl;
if(len==){
break;
}
rep(i,,len){
char x=s[v[i]][col];
char y=s[v[i-]][col];
if(x<y)
{
f=;
//cout<<x<<" "<<y<<endl;
break;
}
}
if(f){
int tmp[maxn];
rep(i,,len){
char x=s[v[i]][col];
char y=s[v[i-]][col];
if(x==y){
tmp[v[i]]=;
tmp[v[i-]]=;
}
}
v.clear();
rep(i,,n){
if(tmp[i])
v.push_back(i);
}
}
else ans++;
col++; }
cout<<ans<<endl;
return ;
}

最新文章

  1. Qt And MFC Mouse Over Tips
  2. SystemC简介
  3. D3.js 用层画条形图
  4. Javascript小笔记
  5. Openstack的ping不通实例的解决办法
  6. GitHub 开源工具整理
  7. Datediff函数 助你实现不同进制时间之间的运算
  8. Excel文件上传
  9. tmux 命令
  10. spoj ONP - Transform the Expression 中缀转后缀
  11. enum可以做索引
  12. Swift语法学习之 类和结构体
  13. Java基础(6)- 面向对象解析
  14. .NET下发送邮件遇到问题及解决方案
  15. 深入javascript的主流的模块规范
  16. Stable Fur Generation on Mesh
  17. python自动化开发-5b
  18. Linux内核分析(第八周)
  19. PSFTP用法
  20. python 学习笔记---Locust 测试服务端性能

热门文章

  1. SIM 800C指令笔记
  2. 随心测试_软测基础_007&lt;软测学习路线建议&gt;
  3. VMware 安装 centos6.8
  4. [转帖]windows10,business版和consumer版本区别
  5. bugku crypto 告诉你一个秘密(ISCCCTF)
  6. randperm
  7. chainsql异常记录
  8. 【转】Java 线程池
  9. 【地图功能开发系列:二】根据地址名称通过百度地图API查询出坐标
  10. Tarjan + bfs HYSBZ 1179Atm