2 条题解

  • 0
    @ 2024-12-14 9:48:26

    可以先从小到大排序,然后遍历如果和为偶数则输出较大数。 代码:

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int a[4];
    	while(cin>>a[1]>>a[2]>>a[3]){
    	    sort(a+1,a+3+1);
    	    if((a[1]+a[2])%2!=0){
    	    	cout<<a[3]<<endl;
    		}
    		else{
    			if(a[2]==0)cout<<"QAQ"<<endl;
    			else cout<<a[2]<<endl;
    		}
    	}
    } 
    
    • 0
      @ 2024-12-1 12:00:04

      P1070题解

      思路

      我第一眼看到题目,什么鬼!!!

      第二眼,这不就是模拟吗?

      可以先从小到大排序,再把数目较小的兔兔合并

      我真是个天才,哈哈哈哈......

      #include <bits/stdc++.h>
      using namespace std;
      int x,y,z,ans; 
      int main()
      {
      	while(cin>>x>>y>>z)
      	{
      		if((x!=0&&y==0&&z==0)||(x==0&&y!=0&&z==0)||(x==0&&y==0&&z!=0))cout<<"QAQ"<<endl;
      		else
      		{
      			ans=0;
      			while(1)
      			{
      				if(x>y)swap(x,y);
      				if(x>z)swap(x,z);
      				if(y>z)swap(y,z);
      				if(x==0&&y==0)
      					break;
      				ans++;
      				if(x!=0)x--,y--,z++;
      				else x++,y--,z--;
      			}
      			cout<<ans<<endl;
      		}
      	}
          return 0;
      }
      

      20分嘤嘤嘤......

      经过我10000ms的发育,我有了一个天才般的想法

      可以将两个相同数目的兔兔一直合并到0

      搜嘎嘎嘎嘎嘎......

      #include <bits/stdc++.h>
      using namespace std;
      int x,y,z,ans; 
      int main()
      {
      	while(cin>>x>>y>>z)
      	{
      		if((x!=0&&y==0&&z==0)||(x==0&&y!=0&&z==0)||(x==0&&y==0&&z!=0))cout<<"QAQ"<<endl;
      		else
      		{
      			ans=0;
      			while(1)
      			{
      				if(x>y)swap(x,y);
      				if(x>z)swap(x,z);
      				if(y>z)swap(y,z);
      				if(x==0&&y==0)
      					break;
      				ans++;
      				if(x==y)x--,y--,z++;
      				else if(y==z)x++,y--,z--;
      				else if(x!=0)x--,y--,z++;
      				else x++,y--,z--;
      			}
      			cout<<ans<<endl;
      		}
      	}
          return 0;
      }
      

      30分嘤嘤嘤嘤嘤嘤......

      又经过我10000ms的发育,我又有了一个天才般的想法

      CAN倒序排列

      AC代码:

      #include <bits/stdc++.h>
      using namespace std;
      int x,y,z,ans; 
      int main()
      {
      	while(cin>>x>>y>>z)
      	{
      		if((x!=0&&y==0&&z==0)||(x==0&&y!=0&&z==0)||(x==0&&y==0&&z!=0))cout<<"QAQ"<<endl;
      		else
      		{
      			ans=0;
      			while(1)
      			{
      				if(x<y)swap(x,y);
      				if(x<z)swap(x,z);
      				if(y<z)swap(y,z);
      				if(z==0&&y==0)
      					break;
      				ans++;
      				if(x==y)x--,y--,z++;
      				else if(y==z)x++,y--,z--;
      				else if(y!=0)x--,y--,z++;
      				else x++,y--,z--;
      			}
      			cout<<ans<<endl;
      		}
      	}
          return 0;
      }
      

      哈哈哈哈哈哈哈......

      双经过我10000ms的发育,我双有了一个天才般的想法

      找规律

      从小到大排,前两个数的差如果是奇数,则输出最后一个数,否则输出第二个数

      AC代码2号:

      #include <bits/stdc++.h>
      using namespace std;
      int x,y,z; 
      int main()
      {
          while(cin>>x>>y>>z)
          {
      		if((x!=0&&y==0&&z==0)||(x==0&&y!=0&&z==0)||(x==0&&y==0&&z!=0))cout<<"QAQ"<<endl;
      		else
              {
      			if(x>y)swap(x,y);
      			if(x>z)swap(x,z);
      			if(y>z)swap(y,z);
      			if((y-x)%2==0)cout<<y<<endl;
      			else cout<<z<<endl;
      		}
      	}
          return 0;
      }
      

      哈哈哈哈哈哈哈哈哈哈哈......

      小提示:

      要用while读入

      • 1

      信息

      ID
      101
      时间
      1000ms
      内存
      256MiB
      难度
      8
      标签
      (无)
      递交数
      177
      已通过
      33
      上传者