POJ 3126 水 图
来源:互联网 发布:java最常用的设计模式 编辑:程序博客网 时间:2024/04/30 14:48
素数表
离散化
建图
#include "stdio.h"#include "string.h"#include "math.h"#include "stdlib.h"int prime[10010],data[10010];int n,end,start;int map[2010][2010],dis[10010];void make_map(int w){int i,s;for (i=0;i<=9;i++){s=i+w/10*10;if (s==w) map[data[s]][data[w]]=map[data[w]][data[s]]=0;else if (s!=w && prime[s]==0)map[data[s]][data[w]]=map[data[w]][data[s]]=1;}for (i=0;i<=9;i++){s=w%10+w/100*100+i*10;if (s==w) map[data[s]][data[w]]=map[data[w]][data[s]]=0;else if (s!=w && prime[s]==0)map[data[s]][data[w]]=map[data[w]][data[s]]=1;}for (i=0;i<=9;i++){s=w%100+w/1000*1000+i*100;if (s==w) map[data[s]][data[w]]=map[data[w]][data[s]]=0;else if (s!=w && prime[s]==0)map[data[s]][data[w]]=map[data[w]][data[s]]=1;}for (i=1;i<=9;i++){s=w%1000+i*1000;if (s==w) map[data[s]][data[w]]=map[data[w]][data[s]]=0;else if (s!=w && prime[s]==0)map[data[s]][data[w]]=map[data[w]][data[s]]=1;}}void make(){int hash[2010];int a,b,min,i,k; int time;time=1061;memset(hash,0,sizeof(hash));a=data[start];b=data[end];hash[a]==1;dis[a]=0;while (time--){min=99999999;for (i=1;i<=1061;i++)if (dis[i]<min && hash[i]==0){min=dis[i];k=i;}if (min==99999999) return ;if (k==b) return ;hash[k]=1;for (i=1;i<=1061;i++)if (hash[i]==0 && k!=i && dis[k]+map[k][i]<dis[i])dis[i]=dis[k]+map[k][i];}}int main(){int Case,i,j;memset(prime,0,sizeof(prime));prime[1]=1;n=0;for (i=2;i<10000;i++)if (prime[i]==0){if (i>=1000){n++;data[i]=n;}for (j=i+i;j<10000;j+=i)prime[j]=1;}// printf("%d\n",n); n=1061;n=1061;for (i=1;i<=1061;i++)for (j=i;j<=1061;j++)map[i][j]=map[j][i]=99999999;for (i=1000;i<10000;i++)if (prime[i]==0)make_map(i);scanf("%d",&Case);while (Case--){n=1061;for (i=1;i<=1061;i++)dis[i]=99999999;scanf("%d%d",&start,&end);if (start==end){printf("0\n");continue;}make();printf("%d\n",dis[data[end]]);}return 0;}
- POJ 3126 水 图
- POJ 3126
- poj 3126
- POJ 3126
- POJ 3126
- poj 3126
- poj 3126
- poj 3126
- POJ 3126
- poj 3126
- poj-3126
- poj 3126
- POJ 3126
- poj 3126
- 3126POJ
- poj 3126
- POJ 3126
- poj---3126
- 神庙逃亡
- 通过SQL Server Profiler来监视分析死锁
- Android获取网络图片
- 反素数学习_The Most Complex Number
- HTTP协议详解
- POJ 3126 水 图
- CF 354C
- Problem 2123 数字的孔数 (简单题目)
- 如何用代码检测一个软件是否被授权了root权限
- C#运算符的重载
- redis数据类型之list
- 【FTP服务器之】ubuntu下FTP服务器vsftpd安装与配置
- 开发调试MonetDB(CentOS6.4)
- Unicode的编码和实现