ZOJ 2478 Encoding
2014-02-20 14:37
218 查看
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1478
注意:本题的考察重点是对连续重复字符的处理,这种处理是字符串处理中常考的技巧。
重点是设置一个作用类似于哨兵的string t; 然后把当前的重复的字母放到 t[0] 中,然后依次比较。
还要注意的是最后一个字符与倒数每二个字符不同的情形。注意思维的严密性。
注意:本题的考察重点是对连续重复字符的处理,这种处理是字符串处理中常考的技巧。
重点是设置一个作用类似于哨兵的string t; 然后把当前的重复的字母放到 t[0] 中,然后依次比较。
还要注意的是最后一个字符与倒数每二个字符不同的情形。注意思维的严密性。
#include<iostream> #include<fstream> #include<vector> #include<string> #include<iterator> #include<algorithm> using namespace std; int main() { #ifdef ONLINE_JUDGE #else freopen("D:\\in.txt", "r", stdin); freopen("D:\\out.txt", "w", stdout); #endif // ONLINE_JUDEG int n; cin >> n; string str; string t;//重要步骤 int temp(0);//重要 for (int i = 0; i < n; i++) { temp = 0; cin >> str; t = str[0]; for (int j = 0; j < str.length(); j++) { if (str[j] == t[0]) { temp++; if (str.length() - 1 == j)//如果已是最后一个,直接输出 { if (1 == temp) { cout << t[0]; } else { cout << temp << t[0]; } } } else { if (1 == temp) { cout << t[0]; } else { cout << temp << t[0]; } t[0] = str[j]; temp = 1; if (j == str.length() - 1)//如果已是最后一个,直接输出 { cout << t[0]; } } } cout << endl; } return 0; }
相关文章推荐
- ZOJ 2478 Encoding
- ZOJ2478-Encoding
- ZOJ2478 Encoding
- ZOJ 2478 Encoding
- ZOJ 2478: Encoding 【string】
- ZOJ 2478 Encoding (字符串处理)
- zoj 2478 Encoding
- ZOJ Problem Set - 2478 Encoding
- ZOJ2478 Encoding
- ZOJ Problem Set - 2478 Encoding(关于getchar()的小问题)
- ZOJ 2478 Encoding
- zoj zju 2989 Encoding 字符串处理
- ZOJ-2240 Run Length Encoding
- HDU 1986 & ZOJ 2989 Encoding(模拟)
- ZOJ-2478
- POJ 1782/ ZOJ 2240 : Run Length Encoding - 字符串处理(模拟)
- ZOJ 2240. Run Length Encoding
- zoj2478
- ZOJ 3311
- ICE Manual(Documentation for Ice 3.5)---The Ice Protocol(Basic Data Encoding)