栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 3360 Stranger Calendar II

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 3360 Stranger Calendar II

#include<stdio.h>#include<iostream>#include<math.h>#include<algorithm>using namespace std;long long pson, pmom;int deep, num[10];bool les(long long a,long long b,long long c,long long d){        long long ac = __gcd(a,c),  bd = __gcd(b,d);        a /= ac, c /= ac, b /= bd, d /= bd;        return (a*d<=b*c);}bool dfs(long long son,long long mom,int pos,int plu){    if (pson*mom==pmom*son) return true;    if (pos==deep) return false;    if (plu){ for (int k=2;true;k++){     if (!les(pson,pmom,son*k+1,mom*k))  return false;     num[pos+1] = k;     if (dfs(son*k+1,mom*k,pos+1,plu^1))  return true; }    }   else { for (int k=2;true;k++){     if (!les(son*k-1,mom*k,pson,pmom))  return false;     num[pos+1] = k;     if (dfs(son*k-1,mom*k,pos+1,plu^1))  return true; }    }}int main(){    int T;    scanf("%d",&T);    while (T--){        scanf("%lld %lld",&pson,&pmom);        long long gcd = __gcd(pson,pmom);        pson /= gcd;        pmom /= gcd;        for (deep = 1;deep < 6;deep++){ if (dfs(0,1,0,1)) break; pson = pmom - pson; if (dfs(0,1,0,1)) break; pson = pmom - pson;        }        if (deep==6)    puts("Too complex");        else{ printf("%d",num[1]); for (int i=2;i<=deep;i++)   printf(" %d",num[i]); puts("");        }    }}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373505.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号