博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3126Prime Path
阅读量:4549 次
发布时间:2019-06-08

本文共 2712 字,大约阅读时间需要 9 分钟。

怎么今天都是compile error 呢,奇怪啊

我的代码

#include "iostream"#include "string.h"#include "queue"#include "math.h"#include "algorithm"using namespace std;struct Point{  char list[5];  int step;};int chang(char list[5]){  int i,total=0;  for(i=0;i<4;i++){    int a=(int)(list[i]-'0');    int b=pow(10,3-i);    total+=a*b;  }  return total;}void chang1(int a,char list[5]){  for(int i=3;i>=0;i--){    list[i]='0'+a%10;    a=a/10;  }  list[4]='\0';}int main(){  int set[10000],num[10000],i,j,ncase,set1[10000];  char list1[5],list2[5];  memset(set,0,sizeof(set));  memset(set1,0,sizeof(set1));  for(i=2;i<10000;i++){    if(set[i]==0){     for(j=2*i;j<10000;j=j+i){      set[j]=1;     }    }  }  cin>>ncase;  while(ncase--){    int a,b,flag=0;    cin>>a>>b;    chang1(a,list1);    chang1(b,list2);    //cout<
<<' '<
<
q; q.push(pt); memset(set1,0,sizeof(set1)); while(!q.empty()){ tem=q.front(); if(strcmp(tem.list,list2)==0){cout<
<

人家的代码

// POJ3126.cpp : Defines the entry point for the console application.//#include 
#include
using namespace std;int main(int argc, char* argv[]){ //init prime table bool prime[10001]; memset(prime,1,sizeof (prime)); prime[0] = false;prime[1] = false; for (int i = 2; i < 5000; ++i) { int k = 2; int next; while((next = (k++) * i) < 10000) prime[next] = false; } int cases; cin >> cases; int beg, end; int step; int visited[10001]; int base[4]= {
1, 10, 100, 1000}; for (int c = 0; c < cases; ++c) { scanf("%d %d", &beg, &end); memset(visited, -1, sizeof(visited)); queue
q; q.push(beg); visited[beg] = 0; step = -1; while (!q.empty()) { int cur = q.front(); q.pop(); if (cur == end) { step = visited[cur]; break; } for (int i = 0; i < 4; ++i) { for (int j = 0; j < 10; ++j) { int l = cur / (base[i] * 10); int r = cur % base[i]; int num = l * base[i] * 10 + j * base[i] + r; if (num > 1000 && num != cur && prime[num] == true && visited[num] == -1) { q.push(num); visited[num] = visited[cur] + 1; } } } } if (step == -1)cout << "Impossible\n"; else cout << step << endl; } return 0;}

 

 

 

转载于:https://www.cnblogs.com/dowson/p/3347706.html

你可能感兴趣的文章
【BZOJ4750】密码安全 单调栈
查看>>
Java之atomic包的原理及分析
查看>>
Chrome自定义滚动条
查看>>
poj3311(状态压缩dp)
查看>>
《大数据日知录》读书笔记-ch2数据复制与一致性
查看>>
个人冲刺01
查看>>
Ubuntu16.04源的问题
查看>>
mysql基础5(mysql命令集----表操作)
查看>>
DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit)
查看>>
视觉里程计06 Qt界面显示摄像头
查看>>
linux 2.6 驱动笔记(一)
查看>>
SpringMVC与MyBatis整合方法
查看>>
获取当前系统运行目录
查看>>
多个tomcat实例运行的配置
查看>>
一种基于 Numpy 的 TF-IDF 实现报告
查看>>
wpf窗口阴影
查看>>
linux内核分析第四周-使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用...
查看>>
Centos 7升级内核
查看>>
Pandas 基本技巧
查看>>
hdu 1264
查看>>