hdu 1088 Write a simple HTML Browser
HDU 1088 Write a simple HTML Browser
Write a simple HTML Browser
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 8560 Accepted Submission(s): 2406
Now, who can forget to install a HTML browser? This is very easy because most of the times you don‘t need one on a MAC because there is a Acrobate Reader which is native to MAC. But if you ever need one, what do you do?
Your task is to write a small html-browser. It should only display the content of the input-file and knows only the html commands (tags) <br> which is a linebreak and <hr> which is a horizontal ruler. Then you should treat all tabulators, spaces and newlines as one space and display the resulting text with no more than 80 characters on a line.
A word is a sequence of letters, numbers and punctuation. For example, "abc,123" is one word, but "abc, 123" are two words, namely "abc," and "123". A word is always shorter than 81 characters and does not contain any ‘<‘ or ‘>‘. All HTML tags are either <br> or <hr>.
. If you read a word in the input and the resulting line does not get longer than 80 chars, print it, else print it on a new line.
. If you read a <br> in the input, start a new line.
. If you read a <hr> in the input, start a new line unless you already are at the beginning of a line, display 80 characters of ‘-‘ and start a new line (again).
The last line is ended by a newline character.
#include <iostream> #include <cstring> #include <fstream> using namespace std; int main() { //ifstream cin("1.txt");// char c[1100]; int l,n=0; int t=0; while (cin>>c) { l=strlen(c); if (strcmp(c,"<br>")==0) { cout <<endl; n=0; t=0; } else if (strcmp(c,"<hr>")==0) { if (n!=0) cout <<endl; for (int i=1;i<=80;i++) cout <<"-"; cout <<endl; n=0; t=0; } else if (n+l<80) { if (t!=0) { cout <<" "; n++; } t=1; cout <<c; n+=l; } else { cout <<endl; n=l; t=1; cout <<c; } } cout <<endl; //system("pause"); return 0; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。