1 solutions

  • 0
    @ 2024-12-20 22:52:18

    C :

    #include<stdio.h>
    #include<string.h>
    
    int main()
    {
    	char s[5001];
    	int i,j,k,l,sum;
    	while(scanf("%s",s)!=EOF)
    	{
    		sum=l=strlen(s);
    		for(i=0;i<l;i++)
    		{
    			j=i-1;
    			k=i+1;
    			while(1)
    			{
    				if(j>=0&&k<l)
    				{
    					if(s[j]==s[k])
    					{
    						sum++;
    						j--;
    						k++;
    					}
    					else
    						break;
    				}
    				else
    					break;
    			}
    		}
    		for(i=0;i<l;i++)
    		{
    			j=i;
    			k=i+1;
    			if(s[j]==s[k])
    			{
    				sum++;
    				j--;
    				k++;
    				while(1)
    				{
    					if(j>=0&&k<l)
    					{
    						if(s[j]==s[k])
    						{
    							sum++;
    							j--;
    							k++;
    						}
    						else
    							break;
    					}
    					else
    						break;
    				}
    			}
    		}
    		printf("%d\n",sum);
    	}
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    #include<string.h>
    
    int main()
    {
    	char s[5001];
    	int i,j,k,l,sum;
    	while(scanf("%s",s)!=EOF)
    	{
    		sum=l=strlen(s);
    		for(i=0;i<l;i++)
    		{
    			j=i-1;
    			k=i+1;
    			while(1)
    			{
    				if(j>=0&&k<l)
    				{
    					if(s[j]==s[k])
    					{
    						sum++;
    						j--;
    						k++;
    					}
    					else
    						break;
    				}
    				else
    					break;
    			}
    		}
    		for(i=0;i<l;i++)
    		{
    			j=i;
    			k=i+1;
    			if(s[j]==s[k])
    			{
    				sum++;
    				j--;
    				k++;
    				while(1)
    				{
    					if(j>=0&&k<l)
    					{
    						if(s[j]==s[k])
    						{
    							sum++;
    							j--;
    							k++;
    						}
    						else
    							break;
    					}
    					else
    						break;
    				}
    			}
    		}
    		printf("%d\n",sum);
    	}
    	return 0;
    }
    

    Pascal :

    program p1054;
    var a:array[1..5000] of char;
        s,i,j,k,n:longint;
        c:char;
    begin
      while not eof do
       begin
         i:=0; s:=0;
        while not eoln do
         begin
          read(c);
          inc(i);
          a[i]:=c;
         end;
        readln;
        n:=i; s:=n;
        for i:=1 to n do
          begin
           j:=i-1;
           k:=i+1;
           while true do
              if (j>=1) and (k<=n) then
                 if a[j]=a[k] then
                  begin
                    s:=s+1;
                    j:=j-1;
                    k:=k+1;
                  end
                 else break
              else break;
          end;
    
        for i:=1 to n do
          begin
           j:=i;
           k:=i+1;
           while true do
              if (j>=1) and (k<=n) then
                 if a[j]=a[k] then
                  begin
                    s:=s+1;
                    j:=j-1;
                    k:=k+1;
                  end
                 else break
              else break;
          end;
        writeln(s);
       end;
    end.
    

    Java :

    
    
    import java.util.Scanner;
    
    public class Main{
    	public static void main(String[] args){
    		Scanner in=new Scanner(System.in);
    		while(in.hasNext()){
    			String x=in.next();
    			int sum=0;int b=x.length();
    			for(int i=0;i<b;i++){
    				int j=i;int k=i;
    					while(j>=0&&k<b&&x.charAt(j)==x.charAt(k)){
    						sum++;j--;k++;
    					}}
    			for(int t=0;t<b;t++){
    				int a=t,c=t+1;
    				if(t+1<b&&x.charAt(a)==x.charAt(c)){
    				while(a>=0&&c<b&&x.charAt(a)==x.charAt(c)){
    						sum++;a--;c++;
    					}
    				}
    }System.out.println(sum);
    }}}
    
    
    • 1

    Information

    ID
    788
    Time
    1000ms
    Memory
    32MiB
    Difficulty
    10
    Tags
    # Submissions
    1
    Accepted
    1
    Uploaded By