HDU 1088 Write a simple HTML Browser && 字符串模拟
2013-10-13 16:34
441 查看
一道很水的字符串模拟
题意:给你三种单词 : "<br>"换一个新行。"<hr>"如果不处在一个新行就换一个新行,输出80个‘-’,再换一个新行。 其他,如果本行字符数超过80则换新行,否则直接输出。
解法:字符模拟,记录本行字符数,每输入一个单词就处理一下。
代码:
题意:给你三种单词 : "<br>"换一个新行。"<hr>"如果不处在一个新行就换一个新行,输出80个‘-’,再换一个新行。 其他,如果本行字符数超过80则换新行,否则直接输出。
解法:字符模拟,记录本行字符数,每输入一个单词就处理一下。
代码:
#include <iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<map> #include<queue> #include<cmath> #include<vector> #define inf 0x3f3f3f3f #define Inf 0x3FFFFFFFFFFFFFFFLL #define pi acos(-1.0) #define eps 1e-8 using namespace std; int main() { //freopen("in.txt","r",stdin); string s; int first = 0; while(cin>>s) { if(s=="<br>") { printf("\n"); first = 0; continue; } if(s=="<hr>") { if(first!=0) { printf("\n"); } for(int i = 0 ; i < 80 ; ++ i) { printf("-"); } printf("\n"); first = 0; continue; } int tmp = first + s.length(); if(first) tmp++; if(tmp<=80) { if(first) cout<<" "<<s; else cout<<s; } else { printf("\n"); first = 0; cout<<s; tmp = s.length(); } first = tmp; } printf("\n"); return 0; }
相关文章推荐
- HDU 1237 简单计算器 && 字符串模拟四则运算
- uva489 (模拟加判断)
- uva1339古老的密码
- uva10340 (字符串模拟)
- 字符串模拟--1 聊天止于呵呵
- 秋实大哥搞算数(字符串模拟)
- PAT 1060. Are They Equal
- HDU 5059 Help him(字符串 筛选数字 模拟)(atoi sprintf 函数)
- Html笔记(六)超链接
- Html笔记(五)表格
- Html笔记(四)图像
- Html笔记(三)列表
- Html笔记(二)字体
- Html笔记(一)概述
- HTML FORM
- HTML中夹杂CODE
- html 加载swf格式文件
- HTML防止选择和右键
- html笔记
- MVC3中输出Html标签的方法