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

poj 1945 Power Hungry Cows

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

poj 1945 Power Hungry Cows

#include <stdio.h> const int maxn = 20003, maxq = 700003, prime0 = 20101, prime1 = 97; int n, n2, answer, head, last, q[maxq][3]; bool hash[prime0][prime1]; int input() { scanf("%d", &n); return 0; } bool in_hash(int wv0, int wv1) { return hash[wv0][wv1]; } void add_hash(int wv0, int wv1) { hash[wv0][wv1] = true; } bool add_node(int wv0, int wv1, int step) { if (wv0 == n || wv1 == n)    return true; if (wv0 < wv1) {    int temp = wv0;    wv0 = wv1;    wv1 = temp; } if (wv0 == wv1 || wv0 >= n2 || wv1 >= prime1)    return false; if (!in_hash(wv0, wv1)) {    add_hash(wv0, wv1);    ++last;    q[last][0] = wv0;    q[last][1] = wv1;    q[last][2] = step; } return false; } int work() { n2 = n + prime1; head = last = -1; add_node(1, 0, 0); while (head < last)  {    ++head;    int wv0 = q[head][0], wv1 = q[head][1], step1 = q[head][2] + 1;    if ( add_node(wv0+wv0, wv1, step1) ||      add_node(wv0+wv1, wv1, step1) ||      add_node(wv1+wv1, wv1, step1) ||      add_node(wv0, wv0+wv0, step1) ||      add_node(wv0, wv0+wv1, step1) ||      add_node(wv0, wv1+wv1, step1) ||      add_node(wv0, wv0-wv1, step1) ||      add_node(wv0-wv1, wv0, step1))     {     answer = step1;     break;    } } return 0; } int output() { printf("%dn", answer); return 0; } int main() { input(); work(); output(); return 0; }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379672.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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