【签到】鸡兔同笼

小学题目,但在2021新生赛没能一次性ac,因为第一次没考虑到鸡兔必须为整数。因此这里放一下。

题目很经典,不复述。

输入头n,脚m,求鸡a兔b

 

解法:

a+b=n

2*a+4*b=m

a、b必须为非负整数。

 

代码:

#include<stdio.h>
int main(){
    int a,b,n,m;
    scanf("%d%d",&n,&m);
    a=(4*n-m)/2;
    b=n-a;
    if(m%2==1||a<0||b<0) 
        printf("No answer\n");
    else
        printf("%d %d\n",a,b);
    return 0;
}
//刘汝佳《算法竞赛入门经典(第2版)》P10

 

#include<iostream>
using namespace std;
int main(){
    double n,m,a,b;
    cin>>n>>m;
    b=(m-2*n)/2;
    a=n-b;
    min(a,b)<0||b!=int(b)?cout<<"No answer":cout<<a<<' '<<b;
    cout<<endl;    
    return 0;
}
//基于L__A官方题解代码的修改,因为新生赛题目输出要求和紫书不一致。

 

posted @ 2022-01-19 11:50  infocodez  阅读(22)  评论(0编辑  收藏  举报