2014年9月5日星期五

[UVa] 10361 - Automatic Poetry


久違的AC,注意換行符號不要存入s2~s5
輸出line2後再換行即可


#include <stdio.h>
#include <string.h>
char line1[10000]={'\0'};
char line2[10000]={'\0'};

int main(){
  //freopen("input.txt", "r", stdin);
  //freopen("output.txt", "w", stdout);
  int n;
  scanf("%d",&n);
  getchar();
  while(n--){

    gets(line1);
    gets(line2);
    
    for(int i=0;i<strlen(line1);i++){
      if(line1[i]=='<' || line1[i]=='>'){}else printf("%c",line1[i]);
    }
    printf("\n");
    
    
    char s2[1000]={'\0'};
    char s3[1000]={'\0'};
    char s4[1000]={'\0'};
    char s5[1000]={'\0'};
    int flag=0,start_read=0,r=0,count=0;
    for(flag=0;flag<strlen(line1);flag++){
      if(start_read==1 && line1[flag]!='<' && line1[flag]!='>' && line1[flag]!='\n'){
        if(count==1)s2[r]=line1[flag];
        if(count==2)s3[r]=line1[flag];
        if(count==3)s4[r]=line1[flag];
        if(count==4)s5[r]=line1[flag];
        r++;
      }
      if(line1[flag]=='<'||line1[flag]=='>'){
        start_read=1;
        r=0;
        count++;
      }
    }
    
    int len2 = strlen(line2);
    for(flag=0;flag<len2;flag++){
      if(line2[flag]!='.')
        printf("%c", line2[flag]);
      else if(line2[flag]=='.'){
        for(int i=0;i<strlen(s4);i++)
          printf("%c",s4[i]);
        for(int i=0;i<strlen(s3);i++)
          printf("%c",s3[i]);
        for(int i=0;i<strlen(s2);i++)
          printf("%c",s2[i]);
        for(int i=0;i<strlen(s5);i++)
          printf("%c",s5[i]);
        break;
      }
      else ;
    }
    
    
    printf("\n");
    for(int i=0;i<1000;i++)line1[i]='\0';
    for(int i=0;i<1000;i++)line2[i]='\0';
    for(int i=0;i<1000;i++)s2[i]='\0';
    for(int i=0;i<1000;i++)s3[i]='\0';
    for(int i=0;i<1000;i++)s4[i]='\0';
    for(int i=0;i<1000;i++)s5[i]='\0';
  }
  return 0;
} 

沒有留言: