首页 > ACM题库 > HDU-杭电 > HDU 4813-Hard Code-字符串-[解题报告]HOJ
2015
09-18

HDU 4813-Hard Code-字符串-[解题报告]HOJ

Hard Code

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 217    Accepted Submission(s): 170

Problem Description
Some strange code is sent to Da Shan High School. It’s said to be the prophet’s note. The note is extremely hard to understand. However, Professor Meng is so smart that he successfully found the pattern of the code. That is, the length of the code is the product
of two prime numbers. He tries to reallocate the code into a grid of size N*M, where M is the bigger prime. In specific, he writes down the letters of the code to the cells one by one, from left to right, and from top to button. In this way, he found the code
eventually readable.

Professor Meng wants to know all the secrets of the note right now. But he doesn’t take his computer with him. Can you help him?
 
Input
The first line of the input is L (L ≤ 1000), which means the number of test cases.

For each test case, the first line contains two prime numbers, which indicates N, M (0 < N * M ≤ 1000) as describe above. The second line contains a string, i.e., the code, containing only lowercase letters. It’s guaranteed the length of the string equals to
N * M.
 
Output
For each test case, output N lines, each line with M letters representing the readable code after the reallocation.
 
Sample Input
1
2 5
klmbbileay

Sample Output
klmbb
ileay

Source
2013 Asia Regional Changchun

//简单字符串分离

AC代码:

#include<stdio.h>
#include<string.h>
char word[2000],value[1000];
int main()
{
    int i,j,x,n,m,T,len;
    scanf("%d",&T);
    while(T--)
    {
         scanf("%d %d",&n,&m);
         scanf("%s",word);
         len=strlen(word);
         j=0;x=0;
         for(i=0;i<len;i++)
         {
             j++;value[j-1]=word[i];
             if(j==m)
             {
                 printf("%s\n",value);
                 x++;
                 memset(value,0,sizeof(value));
                 j=0;
             }
             if(x==n)
             break;
         }
    }
    return 0;
}

参考:http://blog.csdn.net/acmman/article/details/36677925