您的位置:首页 > 其它

九度1155 鸡兔同笼

2013-01-15 09:54 204 查看
/*********************************
 *    日期:2013-1-13
 *    作者:SJF0115
 *    题号: 九度1155
 *    题目:鸡兔同笼
 *    来源:http://ac.jobdu.com/problem.php?pid=1155
 *    结果:AC
 *    题意:
 *    总结:
**********************************/
#include <stdio.h>
#include <string.h>

int main(){
	int i,j,n,a,count,flag;
	//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);
	while(scanf("%d",&n) != EOF){
		//n组测试
		for(i = 1;i <= n;i++){
			scanf("%d",&a);
			flag = 0;
			int min = 32769,max = -1;
			//2*x + 4*y = a
			for(j = 0;j < 32769;j++){
				if(4*j > a){
					break;
				}
				else if((a - 4*j)%2 == 0){
					flag = 1;
					count = j+(a-4*j)/2;
					if(min > count){
						min = count;
					}
					if(max < count){
						max = count;
					}
				}
			}
			if(flag == 0){
				printf("0 0\n");
			}
			else{
				printf("%d %d\n",min,max);
			}
		}
	}
	return 0;
}


/*********************************
 *    日期:2013-1-15
 *    作者:SJF0115
 *    题号: 九度1155
 *    题目:鸡兔同笼
 *    来源:http://ac.jobdu.com/problem.php?pid=1155
 *    结果:AC
 *    题意:
 *    总结:要使动物数最多应使鸡的数目尽可能的多;要使动物数最少应使鸡的数目尽可能的少。
**********************************/
#include <stdio.h>
#include <stdlib.h>

int main()
{
	int n, i,a;
    int max, min;
	//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);
    while(scanf("%d",&n) != EOF)
    {
		for(i = 0; i < n; i ++)
        {
			scanf("%d", &a);
			if(a % 2 != 0)
            {
				printf("0 0\n");
            }
			else
            {
				max = a / 2;
				if(a % 4 != 0)
				{
					min = a / 4 + 1;
				}
				else
				{
					min = a / 4;
				}
				printf("%d %d\n",min, max);
			}
        }
	}
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: