⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2645(2).cpp

📁 pku解题
💻 CPP
字号:
#include <stdio.h>
#include <iostream>
 int main()
 {
     __int64 a,b,tmp;
     int f,st,ed,mid,i;
     while(scanf("%I64d%I64d",&a,&b)&&(a||b))
     {
         if(a==b)
         {
             printf("2 0\n");
             continue;
         }
         else if(a==0)
         {
             printf("0 2\n");
             continue;
         }
         f=0;
         for(i=2;i<=50000;i++)
         {
             st=1,ed=i-1;
             while(st<=ed)
             {
                 mid=(st+ed)/2;
                 tmp=(b-a)*mid*mid-a*(i-mid)*(i-mid)-2*a*mid*(i-mid)+a*(i-mid)-(b-a)*mid;
                 if(tmp>0) ed=mid-1;
                 else if(tmp<0) st=mid+1;
                 else
                 {
                     f=1;
                     printf("%d %d\n",mid,i-mid);
                     break;
                 }
                 if(f) break;
             }
             if(f) break;
         }
         if(!f) printf("impossible\n");
     }
     system("pause");
     return 0;
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -