#include<stdio.h>
int main()
{
int c,r,n,m;
scanf("%d%d",&n,&m);
c=(4*n-m)/2;
r=n-c;
if(c<=0||r<=0)
{
printf("No");
}
else
{
printf("%d %d\n",c,r);
}
return 0;
}
是不是无解情况没考虑全?
#include<stdio.h>
int main()
{
int c,r,n,m;
scanf("%d%d",&n,&m);
c=(4*n-m)/2;
r=n-c;
if(c<=0||r<=0)
{
printf("No");
}
else
{
printf("%d %d\n",c,r);
}
return 0;
}
是不是无解情况没考虑全?
需要先判断(4*n-m)是不是2的倍数,如果不是2的倍数,也没有解
修改如下:
#include<stdio.h>
int main()
{
int c,r,n,m;
scanf("%d%d",&n,&m);
if( (4*n-m)%2 == 0)
{
c = (4*n-m)/2;
r = n-c;
if(c<=0||r<=0)
{
printf("No");
}
else
{
printf("%d %d\n",c,r);
}
}else
printf("No");
return 0;
}