1 条题解

  • 0
    @ 2025-11-30 16:26:39

    C :

    #include<stdio.h>
    #include<string.h>
    
    char s[10001];
    
    int main()
    {
    	int i,len,hl,f;
    	while(scanf("%s",s)!=EOF)
    	{
    		len=strlen(s)-1;
    		hl=(len+1)>>1;
    		for(i=hl-1,f=0;i>=0&&!f;i--)
    			f=s[i]==s[len-i]?0:(s[i]>s[len-i]?1:-1);
    		if(f<=0)
    		{
    			s[len>>1]++;
    			for(i=len>>1;i&&s[i]>'9';i--)
    			{
    				s[i]='0';
    				s[i-1]++;
    			}
    			if(s[0]>'9')
    			{
    				s[0]='1';
    				len++;
    				hl=(len+1)>>1; 
    				s[hl]='0';
    			}
    		}
    		for(i=0;i<hl;i++)
    			putchar(s[i]);
    		for(i=hl-(len&1);i>=0;i--)
    			putchar(s[i]);
    		putchar(10);
    	}
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    #include<string.h>
    
    char s[10001];
    
    int main()
    {
    	int i,len,hl,f;
    	while(scanf("%s",s)!=EOF)
    	{
    		len=strlen(s)-1;
    		hl=(len+1)>>1;
    		for(i=hl-1,f=0;i>=0&&!f;i--)
    			f=s[i]==s[len-i]?0:(s[i]>s[len-i]?1:-1);
    		if(f<=0)
    		{
    			s[len>>1]++;
    			for(i=len>>1;i&&s[i]>'9';i--)
    			{
    				s[i]='0';
    				s[i-1]++;
    			}
    			if(s[0]>'9')
    			{
    				s[0]='1';
    				len++;
    				hl=(len+1)>>1; 
    				s[hl]='0';
    			}
    		}
    		for(i=0;i<hl;i++)
    			putchar(s[i]);
    		for(i=hl-(len&1);i>=0;i--)
    			putchar(s[i]);
    		putchar(10);
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    1224
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者