9 条题解

  • 2
    @ 2024-7-17 11:47:47
    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int t,x[1001],y[1001],maxa[1001],mina[1001];
    	cin>>t;
    	for(int i=1;i<=t;i++)
        {
    		cin>>x[i]>>y[i];
    		maxa[i]=(y[i]-2*x[i])/2;
    		mina[i]=y[i]-3*x[i];
    		if(mina[i]<0) mina[i]=0;
    	}
        for(int i=1;i<=t;i++)
        {
    		cout<<mina[i]<<" "<<maxa[i]<<endl;
    	}
    	
    	return 0;
    }
    

    公式法

    • @ 2024-7-17 11:50:16
      刚好过^_^
    • @ 2024-7-17 14:31:50

    • @ 2024-7-17 14:49:27

      @ man

    • @ 2024-7-18 10:48:51
      #include <bits/stdc++.h>
      using namespace std;
      int main(){
      	int t,x[1001],y[1001],maxa[1001],mina[1001];
      	cin>>t;
      	for(int i=1;i<=t;i++){
      		cin>>x[i]>>y[i];maxa[i]=(y[i]-2*x[i])/2;mina[i]=y[i]-3*x[i];
      		if(mina[i]<0)mina[i]=0;
      	}
          for(int i=1;i<=t;i++){
      		cout<<mina[i]<<" "<<maxa[i]<<endl;
      	}
      	
      	return 0;
      }
      

      还可以更简洁

  • 1
    @ 2024-7-17 10:21:30

    #include<bits/stdc++.h> using namespace std; int tzs[21]; int tzd[21]; int ts[21]; int js[21]; int main(){ int f,t; cin>>t; for(int c=1;c<=t;c++){ cin>>ts[c]>>js[c]; for(int h=0;h<=ts[c];h++){ for(int i=0;i<=ts[c]-h;i++){ if(i2+(ts[c]-h-i)3+h4==js[c]){ tzd[c]=h; break; } } } for(int i=ts[c];i>=0;i--){ f=js[c]-i4; for(int m=0;m<=ts[c]-i;m++){ int j=m*2+(ts[c]-i-m)*3; if(j==f){ tzs[c]=i; break; } } } } for(int i=1;i<=t;i++){ cout<<tzs[i]<<" "<<tzd[i]<<endl; } return 0; }

    对的,但会超时,内存太大了。- [ ] - [ ] - [ ] 1. - > - [ ] > **``````````1. - [ ] ````language language

    `
    language
    

    language

    
    language
    

    `**</sup> language

    `
    
    

    `

    • 0
      @ 2024-7-18 21:52:03
      
      ```#include<bits/stdc++.h>
      using namespace std;
      int main()
      {
         long long t,x,y,sum=0,num=0,minn=100006,maxn=-1;//x=脚 y=头
         cin>>t;
         for(int i=1;i<=t;i++)
         {
             cin>>x>>y;
             for(int s=0;s<=x;s++)//兔
             {
                 if(s<minn) minn=s;
                 if(s>maxn) maxn=s;
                 if(minn<0) minn=0;
                 for(int j=0;j<=x;j++)//鸡
                 {
                     for(int l=0;l<=x;l++)//三脚猫        
                     {
                         sum=s*4+j*2+l*3;
                         num=s+j+l;
                         if(sum==x&&num==y)
                         {
                             cout<<minn<<" "<<maxn<<endl;
                             break;
                         }
                     }
                 }
             }
         }
         return 0;
      }
      • 0
        @ 2024-7-18 10:51:34

        #include<bits/stdc++.h> using namespace std; int main(){ int a,c,x,y,minn,maxn; cin>>a; for(int i=1;i<=a;i++){ cin>>x>>y; minn=1e9,maxn=0; for(c=0;c<=x;c++){ if(y-3*x<=c and c<=y/2-x){ if(c<minn) minn=c; if(c>maxn) maxn=c; } } cout<<minn<<" "<<maxn<<endl; } return 0; }

        • 0
          @ 2024-7-17 19:01:47

          #include <bits/stdc++.h> using namespace std; int main() { int t,x[1001],y[1001],maxa[1001],mina[1001]; cin>>t; for(int i=1;i<=t;i++) { cin>>x[i]>>y[i]; maxa[i]=(y[i]-2x[i])/2; mina[i]=y[i]-3x[i]; if(mina[i]<0) mina[i]=0; } for(int i=1;i<=t;i++) { cout<<mina[i]<<" "<<maxa[i]<<endl; }

          return 0;
          

          }

          • 0
            @ 2024-7-17 11:38:04
            #include<bits/stdc++.h>
            using namespace std;
            int tzs[21],tzd[21],ts[21],js[21];
            int main(){
            	int f,t;
            	cin>>t;
            	for(int c=1;c<=t;c++){
            		cin>>ts[c]>>js[c];
            	for(int h=0;h<=ts[c];h++){
            		for(int i=0;i<=ts[c]-h;i++){
            			if(i*2+(ts[c]-h-i)*3+h*4==js[c]){
            				tzd[c]=h;
            				break;
            			}
            		}
            	}
            	for(int i=ts[c];i>=0;i--){
            		f=js[c]-i*4;
            		for(int m=0;m<=ts[c]-i;m++){
            			 int j=m*2+(ts[c]-i-m)*3;
            			if(j==f){
            				tzs[c]=i;
            				break;
            			}
            		}
            	}
            }
            for(int i=1;i<=t;i++){
            	cout<<tzs[i]<<" "<<tzd[i]<<endl;
            }
            	return 0;
            }
            

            可是会超时,但内存不会超

            • 0
              @ 2024-7-17 10:15:55
              #include<bits/stdc++.h>
              using namespace std;
              int tzs[21];
              int tzd[21];
              int ts[21];
              int js[21];
              int main(){
              	int f,t;
              	cin>>t;
              	for(int c=1;c<=t;c++){
              		cin>>ts[c]>>js[c];
              	for(int h=0;h<=ts[c];h++){
              		for(int i=0;i<=ts[c]-h;i++){
              			if(i*2+(ts[c]-h-i)*3+h*4==js[c]){
              				tzd[c]=h;
              				break;
              			}
              		}
              	}
              	for(int i=ts[c];i>=0;i--){
              		f=js[c]-i*4;
              		for(int m=0;m<=ts[c]-i;m++){
              			 int j=m*2+(ts[c]-i-m)*3;
              			if(j==f){
              				tzs[c]=i;
              				break;
              			}
              		}
              	}
              }
              for(int i=1;i<=t;i++){
              	cout<<tzs[i]<<" "<<tzd[i]<<endl;
              }
              	return 0;
              }
              • 0
                @ 2024-7-17 10:11:46

                #include<bits/stdc++.h> using namespace std; int tzs[21]; int tzd[21]; int ts[21]; int js[21]; int main(){ int f,t; cin>>t; for(int c=1;c<=t;c++){ cin>>ts[c]>>js[c]; for(int h=0;h<=ts[c];h++){ for(int i=0;i<=ts[c]-h;i++){ if(i2+(ts[c]-h-i)3+h4==js[c]){ tzd[c]=h; break; } } } for(int i=ts[c];i>=0;i--){ f=js[c]-i4; for(int m=0;m<=ts[c]-i;m++){ int j=m*2+(ts[c]-i-m)*3; if(j==f){ tzs[c]=i; break; } } } } for(int i=1;i<=t;i++){ cout<<tzs[i]<<" "<<tzd[i]<<endl; } return 0; }1. `````- [ ] language`

                `
                • -3
                  @ 2024-7-18 11:54:22

                  这个题目用到了数学消元推导,用公式 a+b+c =x 2a+3b+4c = y 利用a>=0,b>=0的关系推导出c的范围

                  
                  #include<bits/stdc++.h>
                  using namespace std;
                  int main(){
                  	long long t,x,y,minn = 100006,maxn =0 ;
                  	cin>>t;
                  	for(int i = 1;i<=t;i++){
                  		cin>>x>>y;
                  		minn = 1e9,maxn =0;//注意min的范围取值 
                  		if(y/2-x>=maxn) maxn = y/2-x;
                  		if(y-3*x<=minn){//y-3x有可能是小于0
                  				minn = y-3*x;
                  		}
                  		if(minn<0) minn = 0; 
                  		cout<<minn<<" "<<maxn<<endl;
                  	} 
                  	return 0;
                  }
                  ```
                  `
                  • 1

                  信息

                  ID
                  303
                  时间
                  1000ms
                  内存
                  128MiB
                  难度
                  4
                  标签
                  递交数
                  198
                  已通过
                  89
                  上传者