【BZOJ】2760: [JLOI2011]小A的烦恼【字符串模拟】
2760: [JLOI2011]小A的烦恼
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 406 Solved: 258
[Submit][Status][Discuss]
Description
| a | a | a |
| b | b | |
| c | c |
| a | b | |||||
| a1 | b1 | c1 | a1 | b1 | c1 | d1 |
| a2 | b2 | a2 | b2 | |||
| a3 | b3 | c3 | ||||
| a4 |
Input
第一行有一个整数N(1≤N≤100),表示有N个文件。
以下N个数据块的第一行有一个整数M (1≤M≤100)和一个字符串S (1≤length(S)≤100),M表示文件的行数,S表示文件名。
N个数据块的下面M行中,每一行是一个字符串T(1≤length(T)≤100),T只包含小写字母和“,”。
Output
输出把N个文件的数据合到一个文件的结果。
Sample Input
2 a
a1,b1,c1
a2,b2
4 b
a1,b1,c1,d1
a2,b2
a3,b3,c3
a4
Sample Output
a1,b1,c1,a1,b1,c1,d1
a2,b2,,a2,b2,,
,,,a3,b3,c3,
,,,a4,,,
Solution
模拟题!
定了一个$flag$,表示第$i$行第$j$列这一格有没有东西。
每次将列数取max往后平移即可。
本来以为自己乱yy的$string$过不了的QAQ
结果调了5分钟就a掉了!!
气死$Abyssful$是我的人生目标!!
Code
#include<bits/stdc++.h>
using namespace std; int n, m, flag[][], cnt[], lin, row, num[];
char a[];
string s;
string qaq[][]; int main() {
scanf("%d", &n);
int len = , ma = ;
for(int i = ; i <= n; i ++) {
scanf("%d", &m);
scanf("%s", a);
flag[][++cnt[]] = ;
qaq[][cnt[]] = a;
int tmp = ;
for(int j = ; j <= m + ; j ++) {
scanf("%s", a);
int len = strlen(a);
num[j] = ;
for(int k = ; k < len; k ++) {
char t = a[k];
if(t != ',') s = s + t;
else {
num[j] ++;
cnt[j] ++;
qaq[j][cnt[j]] = s;
flag[j][cnt[j]] = ;
s.clear();
}
}
num[j] ++;
cnt[j] ++;
qaq[j][cnt[j]] = s;
flag[j][cnt[j]] = ;
s.clear();
tmp = max(num[j], tmp);
}
lin = max(lin, m + );
row += tmp;
for(int j = ; j <= ; j ++) cnt[j] = row;
}
for(int i = ; i <= lin; i ++) {
for(int j = ; j < cnt[i]; j ++) {
if(flag[i][j]) cout << qaq[i][j];
printf(",");
}
if(flag[i][cnt[i]]) cout << qaq[i][cnt[i]];
printf("\n");
}
}
【BZOJ】2760: [JLOI2011]小A的烦恼【字符串模拟】的更多相关文章
- 题解【洛谷P5483】[JLOI2011]小A的烦恼
我们可以灵活运用\(C++\)的语法来解决此题. 解释一下代码中会出现的语法: \(string::iterator\ it\)表示定义了一个\(string\)类型的迭代器\(it\),\(^*it ...
- 「BZOJ 3280」小R的烦恼
题目链接 戳我 \(Solution\) 这道题很像餐巾计划啊. 首先将每天拆成\(x\)和\(x'\),\(S->x\)流量为\(a_i\),费用为\(0\)表示一天下来有\(a_i\)个濒死 ...
- 【模拟】bzoj2760 [JLOI2011]小A的烦恼
注意细节和初始化. #include<cstdio> #include<string> #include<algorithm> #include<iostre ...
- 【BZOJ】【3280】小R的烦恼
网络流/费用流 和软件开发那题基本相同,只是多加了一个“雇佣研究生”的限制:不同价格的研究生有不同的数量…… 那么只需加一个附加源点,对每一种研究生连边 S->ss 容量为l[i],费用为p[i ...
- hunnu 小明的烦恼——找字符串
http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11544&courseid=0 小明的烦恼——找字符串 ...
- BZOJ 3280: 小R的烦恼 & BZOJ 1221: [HNOI2001] 软件开发
3280: 小R的烦恼 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 399 Solved: 200[Submit][Status][Discuss ...
- BZOJ3280: 小R的烦恼
题解: 随便建一下图费用流就可以过吧... 代码: #include<cstdio> #include<cstdlib> #include<cmath> #incl ...
- 《Mysql 公司职员学习篇》 第一章 小A的烦恼
第一章 小A的烦恼 ----- 为什么学习数据库 和 如何选择数据库 小A是某公司的职员,公司数据部的员工,平常的大小工作,完全离不开EXCELL,而最近小A却越来越苦恼,不由的向好朋友小Y吐槽.小 ...
- hiho#1513 : 小Hi的烦恼 五维偏序
hiho#1513 : 小Hi的烦恼 五维偏序 链接 hiho 思路 高维偏序用bitset,复杂度\((\frac{n^2}{32})\) 代码 #include <bits/stdc++.h ...
随机推荐
- jQuery动态给下拉列表添加一个选项(创建DOM对象)
使用的函数:
- 【技巧总结】Penetration Test Engineer[4]-Web-Security(文件处理、会话管理、访问控制、SSRF、反序列化漏洞)
Web安全基础2 3.8.文件处理 1)文件上传 一个正常的业务需求,问题在于控制上传合法文件. 防御文件上传 客户端javascript校验(通常校验扩展名) 检查MIME类型 检查内容是否合法 随 ...
- MsSqlserver 查看锁表与解锁
查看被锁表: select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys. ...
- C# 调用WSDL接口及方法
1.首先需要清楚WSDL的引用地址 如:http://XX.XX.4.146:8089/axis/services/getfileno?wsdl 上述地址的构造为 类名getfileno. 2.在.N ...
- jQuery插件之ajaxFileUpload(异步上传图片并实时显示,并解决onchange后ajaxFileUpload失效问题)
参考学习: 第一篇:http://www.cnblogs.com/kissdodog/archive/2012/12/15/2819025.html 第二篇:http://www.jb51.net/a ...
- Awk基础
Awk文本处理 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.awk数据可以来自标准输入.一个或多个文件,或其它命令的输出.awk通常是配合脚本进行使用, 是一个强大的文本处 ...
- redis tutorail
命令 set get incr expire 秒 ttl -1 不会过期 list : lpush rpush lpop rpop lrange llen se ...
- Jdk 和 Tomcat的 安装。
1.再分发服务器上下载JDK,然后利用xftp上传到聚石塔等 2. 解压: tar -zxvf jdk-8u121-linux-x64.tar.gz 3.配置环境变量: export JAVA_HOM ...
- SQl查询数据库库名,表名、表的列名
查询数据库 select * From master.dbo.sysdatabases where name='数据库名' and status<>512 --读取库中的所有表名 (当 ...
- 《精通Python设计模式》学习结构型之享元模式
这个我日常当中也没有用到过, 真的是游戏行业用得多些? 学习一下, 有个印象. import random from enum import Enum TreeType = Enum('TreeTye ...