hdu 1104 BFS + 数论
来源:互联网 发布:淘宝埋雷软件是真的吗 编辑:程序博客网 时间:2024/05/30 04:10
因为才刚开始ACM 所以数论知识还不知道 只知道简单的搜索。。。。。
以后学了数论再来看看。
AC代码如下:
#include <iostream>#include <queue>#include <cstdio>#include <cstring>#include <string>using namespace std;typedef struct{int now;int step;string rode;}node;bool visit[1000000];int N, K, M, result, KM;void BFS(){queue<node> q;node begins;result = ( ( N + 1 ) % K + K ) % K;KM = K * M;memset( visit, 0, sizeof( visit ) );begins.now = N;begins.step = 0;begins.rode = "";q.push( begins );visit[( begins.now % K + K ) % K] = 1;while( !q.empty() ){node p, temp;p = q.front();q.pop();if( ( p.now % K + K ) % K == result ){cout << p.step << endl;cout << p.rode << endl;return;}temp.step = p.step + 1;temp.now = ( p.now + M ) % KM;temp.rode = p.rode + "+";if( !visit[( temp.now % K + K ) % K ] ){q.push( temp );visit[ ( temp.now % K + K ) % K ] = 1;}temp.now = ( p.now - M ) % KM;temp.rode = p.rode + "-";if( !visit[( temp.now % K + K ) % K ] ){q.push( temp );visit[ ( temp.now % K + K ) % K ] = 1;}temp.now = ( p.now * M ) % KM;temp.rode = p.rode + "*";if( !visit[( temp.now % K + K ) % K ] ){q.push( temp );visit[ ( temp.now % K + K ) % K ] = 1;}temp.now = ( ( p.now % M + M ) %M ) % KM;temp.rode = p.rode + "%";if( !visit[( temp.now % K + K ) % K ] ){q.push( temp );visit[ ( temp.now % K + K ) % K ] = 1;}}cout << 0 << endl;}int main(){while( scanf( "%d%d%d", &N, &K, &M ) && !( N == 0 && K == 0 && M == 0 ) ){BFS();}return 0;}
- hdu 1104 BFS + 数论
- hdu 1104 remainder bfs+数论
- hdu 1104 (数论+bfs)
- hdu 1104 Remainder(BFS+数论)
- hdu 1664 BFS + 数论
- HDU 4294 Multiple (数论+bfs)
- hdu 1104/poj 2426 Remainder(数论,BFS)
- 1104 Remainder(数论+bfs)
- HDU 1495 非常可乐(BFS||数论)
- HDU-1495 非常可乐(BFS)+数论求解
- hdu-1104-Remainder(BFS打印路径+数论)(%与mod的区别)
- hdu 1664 Different Digits (bfs+取余判重+数论知识)
- BFS+余数判重+数论 hdu-1664-Different Digits
- hdu 1664如此爽的一道bfs+数论
- HDOJ 1104 Remainder(BFS + 数论)
- HDU 1104 BFS 队列
- HDU 1104 BFS
- hdu 1104 Remainder BFS
- 黑马程序员——构造函数
- Sublime 下 emmet (zen coding) 插件的添加和使用
- Debug
- android程序启动过程
- NS2如何识别并执行协议
- hdu 1104 BFS + 数论
- ExpandableListView------下拉列表
- windows 下使用命令行打开软件
- Android EventHandler—给应用添加事件處理(直播vlc)
- error: format not a string literal and no format arguments
- mkfifo函数
- NSString在不同字符集下的ASCII码
- Linux系统中rsync命令参数详解
- iPhone/iPad的IAP防破解之第三方服务器二次验证(附代码)