6 solutions

  • 3
    @ 2025-1-2 11:23:12

    算法分析

    根据一轮的出拳顺序得到nn次出拳结果,然后依次比较,得到最后的比较结果

    #include<bits/stdc++.h>
    using namespace std;
    const int N=210;
    int a[N],b[N];
    int main()
    {
    	int n,na,nb;
    	cin>>n>>na>>nb;
    	for(int i=1;i<=na;i++)
    		cin>>a[i];
    	for(int i=1;i<=nb;i++)
    		cin>>b[i];
    	for(int i=na+1;i<=n;i++) //算出后面的结果 
    		a[i]=a[i-na];
    	for(int i=nb+1;i<=n;i++)
    		b[i]=b[i-nb];
    	int res=0;
    	//0 石头 2剪刀 5布 
    	for(int i=1;i<=n;i++)
    	{
    		if(a[i]==0&&b[i]==2||a[i]==2&&b[i]==5||a[i]==5&&b[i]==0) //a获胜的情况 
    		{
    			res++;
    		}else if(a[i]==b[i]) //相同 
    		{
    			;
    		}else
    		{
    			res--;
    		}
    	}
    	if(res>0) cout<<"A";
    	else if(res<0) cout<<"B";
    	else cout<<"draw";
    	return 0;
    } 
    
    • 1
      @ 2026-10-11 15:38:27
      #include<bits/stdc++.h>
      using namespace std;
      const int N=210;
      int a[N],b[N];
      int main()
      {
      	int n,na,nb;
      	cin>>n>>na>>nb;
      	for(int i=1;i<=na;i++)
      		cin>>a[i];
      	for(int i=1;i<=nb;i++)
      		cin>>b[i];
      	for(int i=na+1;i<=n;i++)
      		a[i]=a[i-na];
      	for(int i=nb+1;i<=n;i++)
      		b[i]=b[i-nb];
      	int res=0;
      	for(int i=1;i<=n;i++)
      	{
      		if(a[i]==0&&b[i]==2||a[i]==2&&b[i]==5||a[i]==5&&b[i]==0)
      		{
      			res++;
      		}else if(a[i]==b[i])
      		{
      			; 
      		}else
      		{
      			res--;
      		} 
      	}
      	if(res>0) cout<<"A";
      	else if(res<0) cout<<"B";
      	else cout<<"draw";
      	return 0;
      }
      
      • 0
        @ 2025-11-17 18:59:08
        #include<bits/stdc++.h>
        using namespace std;
        const int N=210;
        int a[N],b[N];
        int main()
        {
        	int n,na,nb;
        	cin>>n>>na>>nb;
        	for(int i=1;i<=na;i++)
        		cin>>a[i];
        	for(int i=1;i<=nb;i++)
        		cin>>b[i];
        	for(int i=na+1;i<=n;i++) 
        		a[i]=a[i-na];
        	for(int i=nb+1;i<=n;i++)
        		b[i]=b[i-nb];
        	int res=0;
        	for(int i=1;i<=n;i++)
        	{
        		if(a[i]==0&&b[i]==2||a[i]==2&&b[i]==5||a[i]==5&&b[i]==0)  
        		{
        			res++;
        		}else if(a[i]==b[i]) 
        		{
        			;
        		}else
        		{
        			res--;
        		}
        	}
        	if(res>0) cout<<"A";
        	else if(res<0) cout<<"B";
        	else cout<<"draw";
        	return 0;
        } 
        
        
        • -3
          @ 2025-3-6 18:40:02
          #include<bits/stdc++.h>
          using namespace std;
          const int A=210;
          int a[A],b[A];//a数组表示小七赢得次数,b数组表示奶龙赢得次数
          int main()
          {
              int n,na,nb;
              cin>>n>>na>>nb;
              for(int i=1;i<=na;i++)
              {
                  cin>>a[i];
              }
              for(int i=1;i<=nb;i++)
              {
                  cin>>b[i];
              }
              for(int i=na+1;i<=n;i++)
              {
                  a[i]=a[i-na];
              }
              for(int i=nb+1;i<=n;i++)
              {
                  b[i]=b[i-nb];
              }
              int x=0;
              for(int i=1;i<=n;i++)
              {
                  if(a[i]==0&&b[i]==2||a[i]==2&&b[i]==5||a[i]==5&&b[i]==0)
                  {
                      x++;
                  }
                  else if(a[i]==b[i])
                  {
                      ;
                  }
                  else
                  {
                      x--;
                  }
              }
              if(x>0)
                  {
                      cout<<"A";
                  }
                  else if(x==0)
                  {
                      cout<<"draw";
                  }
                  else
                  {
                      cout<<"B";
                  }
              return 0;
          }
          

          绝对是本人亲自写的 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 给好评我下次继续发题解

          • -3
            @ 2025-3-6 18:38:37
            #include<bits/stdc++.h>
            using namespace std;
            const int A=210;
            int a[A],b[A];//a数组表示小七赢得次数,b数组表示奶龙赢得次数
            int main()
            {
                int n,na,nb;
                cin>>n>>na>>nb;
                for(int i=1;i<=na;i++)
                {
                    cin>>a[i];
                }
                for(int i=1;i<=nb;i++)
                {
                    cin>>b[i];
                }
                for(int i=na+1;i<=n;i++)
                {
                    a[i]=a[i-na];
                }
                for(int i=nb+1;i<=n;i++)
                {
                    b[i]=b[i-nb];
                }
                int x=0;
                for(int i=1;i<=n;i++)
                {
                    if(a[i]==0&&b[i]==2||a[i]==2&&b[i]==5||a[i]==5&&b[i]==0)
                    {
                        x++;
                    }
                    else if(a[i]==b[i])
                    {
                        ;
                    }
                    else
                    {
                        x--;
                    }
                }
                if(x>0)
                    {
                        cout<<"A";
                    }
                    else if(x==0)
                    {
                        cout<<"draw";
                    }
                    else
                    {
                        cout<<"B";
                    }
                return 0;
            }
            
            • -4
              @ 2025-1-8 19:47:26
              #include<bits/stdc++.h>
              using namespace std;
              const int N=210;
              int a[N],b[N];
              int main()
              {
              	int n,na,nb;
              	cin>>n>>na>>nb;
              	for(int i=1;i<=na;i++)
              		cin>>a[i];
              	for(int i=1;i<=nb;i++)
              		cin>>b[i];
              	for(int i=na+1;i<=n;i++)
              		a[i]=a[i-na];
              	for(int i=nb+1;i<=n;i++)
              		b[i]=b[i-nb];
              	int res=0;
              	for(int i=1;i<=n;i++)
              	{
              		if(a[i]==0&&b[i]==2||a[i]==2&&b[i]==5||a[i]==5&&b[i]==0)
              		{
              			res++;
              		}else if(a[i]==b[i])//相同
              		{
              			; 
              		}else
              		{
              			res--;
              		} 
              	}
              	if(res>0) cout<<"A";
              	else if(res<0) cout<<"B";
              	else cout<<"draw";
              	return 0;
              }
              
              • 1

              Information

              ID
              2144
              Time
              1000ms
              Memory
              128MiB
              Difficulty
              1
              Tags
              (None)
              # Submissions
              112
              Accepted
              44
              Uploaded By