Removing Columns
来源:互联网 发布:nginx.var set lua 编辑:程序博客网 时间:2024/05/17 08:15
题意:给定n个长度相同的字符串。求最少的执行操作。要求下一行的字典序不小于上一行的字典序。 操作是:删除任意一列。
数据分析:1 ≤ n, m ≤ 100 (n=1时,输出0)
思路:比较下一行与上一行的字典序,然后用vis来标记某一列是不是删除过。对于mp[i][j]和mp[i-1][j],如果相等,那么继续查找下一列;如果前者大,break;否则ans++ , vis[j]=true
// 感觉这题所谓的贪心,感觉不够贪,纯暴力
复杂度分析:O(m*n*m)
#include <bits/stdc++.h>using namespace std;typedef long long ll;char mp[200][200];bool vis[200];int main(void){ memset(vis,false,sizeof(vis)); int n,m; cin >> n>>m; for(int i=1; i<=n; i++) scanf("%s",mp[i]+1); if(n==1) { printf("0\n"); return 0; } ll ans=0; int t=m; while(t--)//执行t次。因为最多就只需要重头扫到尾m次最多了。 { for(int i=2; i<=n; i++) { for(int j=1; j<=m; j++) { if(vis[j]==true || mp[i-1][j]==mp[i][j]) continue; if(mp[i-1][j]<mp[i][j]) break; else if(mp[i-1][j]>mp[i][j]) { vis[j]=true; ans++; //printf("i=%d j=%d\n",i,j); } } } } cout << ans << endl;}
阅读全文
0 0
- Removing Columns
- Removing Columns
- Removing Columns
- Removing Columns
- CF_496C Removing Columns
- C. Removing Columns
- CF - 496C - Removing Columns
- codeforces #496C# Removing Columns
- CodeForces 496C Removing Columns
- Removing Columns - CodeForces 496 C 水题
- codeforces 496C Removing Columns 贪心
- codeforces 496C Removing Columns (模拟,思维)
- Codeforces 496C Removing Columns(暴力)
- CodeForces 496C-- Removing Columns-暴力
- Codeforces 496 C Removing Columns【思维】
- Codeforces Round #283 (Div. 2)---C. Removing Columns
- CF 496C(Removing Columns-贪心取字典序)
- Codeforces Round #283 (Div. 2)——C. Removing Columns
- TextWatcher的用法
- Andrew NG 深度学习课程笔记:神经网络、有监督学习与深度学习
- linux普通用户进程数受限制报错
- 5-7 六度空间 (bfs)
- 懒加载
- Removing Columns
- Java-----隐藏手机号中间四位
- NYOJ【22】素数求和问题【水题】
- spring中@value注解需要注意
- Lca树链剖分法
- 1px
- JDBC相关(三):DButils工具类的使用详解
- linux_centos下安装redis
- 在linux服务器中的项目绑定域名