【PAT】1031. Hello World for U

来源:互联网 发布:网络侦探进化图鉴 编辑:程序博客网 时间:2024/05/17 04:01
#include<iostream>#include<cmath>#include <cstdio>#include<algorithm>#include <cstring>using namespace std;char str[82];int main(){    scanf("%s",str);    int n=strlen(str);    int ans=0,k=3;    int n2;    while(k<n){        if(3*k-2>=n && ans<(n+2-k)/2 && (n+2-k)%2==0){            ans=(n+2-k)/2;            n2=k;        }        k++;    }    for(int i=0;i<ans-1;i++){        cout<<str[i];        for(int i=0;i<n2-2;i++)            cout<<" ";        cout<<str[n-i-1]<<endl;    }    for(int i=0;i<n2;i++)        cout<<str[i+ans-1];    return 0;}

优化:

#include<iostream>#include<cmath>#include <cstdio>#include<algorithm>#include <cstring>using namespace std;char str[82];int main(){    gets(str);    int N=strlen(str);    int n1=(N+2)/3,n3=n1,n2=N+2-n1-n3;    for(int i=0;i<n1-1;i++){        printf("%c",str[i]);        for(int j=0;j<n2-2;j++)            printf(" ");        printf("%c",str[N-i-1]);    }    for(int i=0;i<n2;i++){        printf("%c",str[n1+i-1]);    }    return 0;}


0 0
原创粉丝点击