版本4和5间的区别
于2006-04-23 22:35:25修订的的版本4
大小: 1531
编辑: 153
备注:
于2006-04-29 21:16:50修订的的版本5
大小: 1383
编辑: 65
备注:
删除的内容标记成这样。 加入的内容标记成这样。
行号 32: 行号 32:
/*written by 洪峰 but wa now*/ /*written by 洪峰
AC了哦
*/
行号 35: 行号 36:
#include<vector>
#include<string>
行号 41: 行号 40:
 char com[26];
 int i,j,k,n;
 string s;
 vector<int> res(26,0),data(26,0);
 for (i=0;i<26;i++)
  com[i]=65+i;
 cin>>n;
 for (i=0;i<n;i++)
 {
  if (n<1||n>100)
   exit(0);
  cin>>s;
  for (j=0;j<s.length();j++)
   for (k=0;k<26;k++)
    if (s[j]==com[k])
     res[k]++;
  for (j=0;j<26;j++)
   if (res[j]==1)
    cout<<com[j];
   else if (res[j]==0)
    continue;
   else
    cout<<res[j]<<com[j];
  if (i+1<n)
   cout<<endl;
  s.clear();
  res=data;
 }
 system("pause");
 return 0;
}
}}}
 char s[200],temp;
 int i,j,n,flag;
 cin>>n;
 for (i=0;i<n;i++)
 {
  cin>>s;
  temp=s[0];
  flag=1;
  for (j=1;j<strlen(s);j++)
   if (temp==s[j])
    flag++;
   else
   {
    if (flag==1)
     cout<<temp;
    else
     cout<<flag<<temp;
    flag=1;
    temp=s[j];
   }
   if (flag==1)
    cout<<temp<<endl;
   else
    cout<<flag<<temp<<endl;
 }
 system("pause");
 return 0;
}}}}

Encoding

Time limit: 1 Seconds

Memory limit: 32768K

Given a string containing only 'A' - 'Z', we could encode it using the following method:

  1. Each sub-string containing k same characters should be encoded to "kX" where "X" is the only character in this sub-string.
  2. If the length of the sub-string is 1, '1' should be ignored.

1. Input

The first line contains an integer N (1 <= N <= 100) which indicates the number of test cases. The next N lines contain N strings. Each string consists of only 'A' - 'Z' and the length is less than 100.

2. Output

For each test case, output the encoded string in a line.

3. Sample Input

2
ABC
ABBCCC

4. Sample Output

ABC
A2B3C

http://acm.zju.edu.cn/show_problem.php?pid=2478


   1 /*written by 洪峰
   2 AC了哦*/
   3 
   4 #include<iostream>
   5 using namespace std;
   6 
   7 int main()
   8 {
   9         char s[200],temp;
  10         int i,j,n,flag;
  11         cin>>n;
  12         for (i=0;i<n;i++)
  13         {
  14                 cin>>s;
  15                 temp=s[0];
  16                 flag=1;
  17                 for (j=1;j<strlen(s);j++)
  18                         if (temp==s[j])
  19                                 flag++;
  20                         else
  21                         {
  22                                 if (flag==1)
  23                                         cout<<temp;
  24                                 else
  25                                         cout<<flag<<temp;
  26                                 flag=1;
  27                                 temp=s[j];
  28                         }
  29                         if (flag==1)
  30                                 cout<<temp<<endl;
  31                         else
  32                                 cout<<flag<<temp<<endl;
  33         }
  34         system("pause");
  35         return 0;

}

zju2478 (2008-02-23 15:34:13由localhost编辑)

ch3n2k.com | Copyright (c) 2004-2020 czk.