ACM日记_17.3.27——偷懒的字符串处理一道
来源:互联网 发布:37周胎儿b超数据标准 编辑:程序博客网 时间:2024/05/19 09:51
因为是从小伙伴那里拿来的题目,不知出处,只好归为日记下的一篇。
这道题目很简单,代码也不是我敲的咳咳咳,但是字符串处理乍一看真是挺吓人,不过稍稍用点string类就瞬间简单许多,遂记之。
题目:
代码如下:
//3.26#include <cstdio>#include <vector>#include <iostream>#include <string>using namespace std;const int maxn=30;int n;vector <int> pile[maxn];void find_block(int a,int& pa,int &ha){ for(pa=0;pa<n;pa++) for(ha=0;ha<pile[pa].size();ha++) { if(pile[pa][ha]==a) return; }}void clear_above(int pa,int ha){ int i; for(i=ha+1;i<pile[pa].size();i++) { int b=pile[pa][i]; pile[b].push_back(b); } pile[pa].resize(ha+1);}void pile_onto(int pa,int ha,int pb){ int i; for(i=ha;i<pile[pa].size();i++) { pile[pb].push_back(pile[pa][i]); } pile[pa].resize(ha);}void print(){ int i,j; for(i=0;i<n;i++) { printf("%d:",i); for(j=0;j<pile[i].size();j++) printf(" %d",pile[i][j]); printf("\n"); }}int main(){ int a,b; string s1,s2; cin >> n; for(int i=0;i<n;i++) { pile[i].push_back(i); } while(cin >> s1>> a >> s2 >> b) { if(s1=="quit") break; int pa,pb; int ha,hb; find_block(a,pa,ha); find_block(b,pb,hb); if(pa==pb) continue; if(s1=="move") clear_above(pa,ha); if(s2=="onto") clear_above(pb,hb); pile_onto(pa,ha,pb); } print(); return 0;}
0 0
- ACM日记_17.3.27——偷懒的字符串处理一道
- ACM日记_17.3.14——输入均为独立字母与数字时的处理
- ACM日记_17.3.14——神奇的0x3f3f3f3f
- ACM日记_17.5.01——sort的用法
- ACM日记_17.3.14——*最大公约数*与*最小公倍数*
- ACM日记_17.3.14——快速幂取模
- ACM日记_17.3.14——高精度算法
- ACM日记_17.7.22——多重背包模板
- ACM日记_17.5.01——控制格式的输出就只会printf了?cout也可以!
- ACM日记_17.5.01——数位DP自整理(例题:HDU 2089 不要62)
- ACM日记_17.5.01——矩阵快速幂整理(例题i:Fibonacci POJ
- Java日记_17.9.01——点击按钮后,键盘监听失效的原因与解决办法
- 紫影龙的编程日记 —— 字符串处理技术
- 一道处理字符串的面试题
- 一道特殊的回文字符串处理问题
- 一道关于字符串处理的题
- 熟悉JAVA反射后,来偷懒做些事情字符串处理的事情
- 渣渣ACM日记——540-奇怪的排序(NYOJ)
- 二叉树(一)
- HTTP与HTTPS的区别
- linux初学笔记(3):输入输出的处理和vim的使用
- IntelliJ IDEA 配置JDK
- 在O(1)时间复杂度删除链表节点
- ACM日记_17.3.27——偷懒的字符串处理一道
- jQuery 点击按钮,表格增加一行。
- 开启python学习之旅
- Android app性能优化解决卡慢顿之布局优化
- android 跨进程通信---Messenger简单用法
- 【SQL】SQL常用函数整理
- 数组与指针
- Centos7安装vsftpd
- IDEA引MAVEN项目jar包依赖导入问题解决