码迷,mamicode.com
首页 > 其他好文 > 详细

1743: 解方程

时间:2015-10-27 01:36:33      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

              1743: 解方程

Description

一群奥特曼打败了一群小怪兽,已知所有的奥特曼均有x1个头、y1条腿(变异奥特曼),所有的小怪兽均有x2个头、y2条腿。战场上一共有q个头,w条腿,问有多少奥特曼,有多少个小怪兽?

 

Input

输入数据有多组每组包含6个正整数,分别为,x1,y1,x2,y2,q,w ;(0<=q,w<=1000000000);输入数据保证有唯一解。读到0 0 0 0 0 0结束。

 

Output

输出占一行,包含两个正整数,分别为:奥特曼和小怪兽的数目;

 

Sample Input

749 405 263 991 816625 693657 0 0 0 0 0 0

Sample Output

986 297
 
 1 #include <stdio.h>
 2 
 3 int main(void)
 4 {
 5     long long int x1,y1,x2,y2,q,w;
 6     while(scanf("%lld %lld %lld %lld %lld %lld",&x1,&y1,&x2,&y2,&q,&w)!=EOF)
 7     {
 8         long long int i,k;//i是奥特曼数量,k是怪兽数量 
 9         if(x1==0&&y1==0&&x2==0&&y2==0&&q==0&&w==0)
10         {
11             break;    
12         } 
13         else 
14         {
15 
16             k=(q*y1-w*x1)/(x2*y1-x1*y2);
17             i=(q*y2-w*x2)/(x1*y2-y1*x2);
18             printf("%lld %lld\n",i,k);
19         }        
20     
21     }
22     return 0;
23 }

 

再来看看这个代码:(枚举?暴力?)
 1 #include <stdio.h>
 2 
 3 int main(void)
 4 {
 5     int x1,y1,x2,y2,q,w;
 6     while(scanf("%d %d %d %d %d %d",&x1,&y1,&x2,&y2,&q,&w)!=EOF)
 7     {
 8         int i,k;//i是奥特曼数量,k是怪兽数量 
 9         if(x1==0&&y1==0&&x2==0&&y2==0&&q==0&&w==0)
10         {
11             return 1;     
12         } 
13         else
14         {
15             int temp1=q/x1,temp2=q/x2; 
16             for(i=0;i<=temp1;i++)
17             {    
18                 for(k=0;k<=temp2;k++)
19                 {
20                     if(i*y1+k*y2==w&&i*x1+k*x2==q)
21                     {
22                         printf("%d %d\n",i,k);
23                         break;
24                     }
25                 }
26             }
27         }            
28     }
29     return 0;
30 }

对于奥特曼/怪兽的数量从零开始,虽然也能够求出数据,起码能够求出测试数据,但是随着数据的增大,for执行的次数也会增大,所以采用直接求解的方法,相当于求二元一次方程组,头数,脚数会是确定值,输入的数据会都是正整数除非全为0退出,所以

 
1 k=(q*y1-w*x1)/(x2*y1-x1*y2);
2 i=(q*y2-w*x2)/(x1*y2-y1*x2);

直接利用表达式求出对应的数量。

 

1743: 解方程

标签:

原文地址:http://www.cnblogs.com/bujingdule/p/4912907.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!