当前位置: 首页 > news >正文

一个企业做网站的目的/域名备案查询

一个企业做网站的目的,域名备案查询,做网站东莞,合肥网页设计工资一般多少题目链接:https://cn.vjudge.net/contest/309172#problem/Y Sample Input 3 1033 8179 1373 8017 1033 1033Sample Output 6 7 0解析:所给的数字都是四位数,从第一个数变成第二个数,最少需要几次。变换规则:一次只能改变其中的一位数&#…

题目链接:https://cn.vjudge.net/contest/309172#problem/Y
Sample Input

3
1033 8179
1373 8017
1033 1033

Sample Output

6
7
0

解析:所给的数字都是四位数,从第一个数变成第二个数,最少需要几次。变换规则:一次只能改变其中的一位数,且改变后的数字为素数,如1033到8179的变换规则:1033 ->1733-> 3733>3739 ->3779 >8779 ->8179,总共变换了6次,且变换过程中,每一位都是素数

分析
1.素数打表是少不了的。

void solve(){for(int i=2;i<10001;i++){if(a[i]==0){for(int j=2*i;j<10001;j+=i)a[j]=1;}}
}

素数打表的原理:
i=2时,j=4,6,8,10…
i=3时,j=9,12,15…
i=4时,j=16,20,24…
i=5时,j=25,30,35…
将j全部标记,没标记的就是素数。
2.接着就是广搜,因为是四位数,所以for循环从1001到10000就行,要注意的是i为i+2,(偶数就不用考虑了)

代码
1.用队列模拟

#include<cstdio>
#include<cstring>
#include<queue>
#include<algorithm>
using namespace std;
int book[10001],a[10001]={0};
int m,n;
struct node{int x,step;
};
void solve(){for(int i=2;i<10001;i++){if(a[i]==0){for(int j=2*i;j<10001;j+=i)a[j]=1;}}
}
int main(){int T,flag;scanf("%d",&T);int a1,a2,b1,b2,c1,c2,d1,d2;solve();while(T--){flag=0;memset(book,0,sizeof(book));scanf("%d%d",&m,&n);if(m==n){printf("0\n");continue;}queue<node>q;node u,v;u.x=m,u.step=0;book[m]=1;q.push(u);while(!q.empty()){u=q.front();q.pop();a1=u.x/1000,b1=u.x/100%10,c1=u.x/10%10,d1=u.x%10;for(int i=1001;i<10000;i=i+2){if(book[i]==0&&a[i]==0)//是素数,并且没有出现过{a2=i/1000,b2=i/100%10,c2=i/10%10,d2=i%10;if(a1==a2&&b1==b2&&c1==c2||a1==a2&&b1==b2&&d1==d2||b1==b2&&c1==c2&&d1==d2||a1==a2&&c1==c2&&d1==d2){//更改其中的一位v.x=i,v.step=u.step+1;book[i]=1;q.push(v);if(i==n){flag=1;break;}}}}if(flag==1)break;}if(flag==1)printf("%d\n",v.step);elseprintf("Impossible.\n");}return 0;
}

2.用head和tail模拟

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int book[10005],x[10005]={0};
struct node{int x,step;
} s[10000];void solve(){for(int i=2; i<10005; i++){ //素数的判定if(x[i]==0){for(int j=2*i; j<10005; j+=i)x[j]=1;}}
}
int main(){int T,m,n,flag,head=1,tail=1;scanf("%d",&T);while(T--){solve();flag=0;scanf("%d%d",&m,&n);memset(book,0,sizeof(book));if(m==n){printf("0\n");continue;}head=tail=1;s[head].x=m,s[head].step=0,book[m]=1,tail++;int a,b,c,d,a1,b1,c1,d1;while(head<tail){a=s[head].x/1000,b=s[head].x/100%10,c=s[head].x/10%10,d=s[head].x%10;for(int i=1001; i<10000; i=i+2){if(x[i]==0&&book[i]==0){a1=i/1000,b1=i/100%10,c1=i/10%10,d1=i%10;if(a==a1&&b==b1&&c==c1||a==a1&&b==b1&&d==d1||b==b1&&c==c1&&d==d1||a==a1&&c==c1&&d==d1){s[tail].x=i;s[tail].step=s[head].step+1;book[i]=1;tail++;if(i==n){flag=1;break;}}}}if(flag==1)break;head++;}if(flag==1)printf("%d\n",s[tail-1].step);elseprintf("Impossible\n");}return 0;
}
http://www.lbrq.cn/news/1241443.html

相关文章:

  • 用html做企业门户网站/企业qq
  • 网站建设佰金手指科捷一/北京网站建设开发公司
  • 在线营销型网站/优化网站排名费用
  • 深圳住房和建设局网站富士锦园/开平网站设计
  • 哪类型网站容易做/网站排名优化制作
  • 深圳网站建设者/seo怎么收费的
  • 如何建设网站app/网站制作工具
  • 个人做网站要注意什么/手机百度提交入口
  • 东莞公司网站制作/个人网站建设
  • 深圳哪家做网站好/社群营销的具体方法
  • 长宁区网站设计建设/推广方案策划
  • 上海的广告公司网站建设/长沙做引流推广的公司
  • 顺德高端网站/西安百度关键词优化
  • 杭州企业网站建设 哪里好/seo搜索优化
  • 东莞深圳网站建设/seo l
  • 电白网站建设公司/网络营销推广的基本手段
  • 网站制作 西安/民生热点新闻
  • 简述网站建设基本流程/如何推广品牌
  • phpcms v9网站建设入门/重庆网站排名提升
  • r语言做网站/关键词seo排名怎么选
  • 在线阅读网站开发教程/百度官方网平台
  • 香港空间做网站速度慢的解决方法/海外网络推广服务
  • 西城 网站公安备案/厦门seo推广外包
  • 信阳高端网站建设/网络营销师证书怎么考
  • 怎么个人网站设计/企业宣传标语
  • 电商网站怎么推广/网站客服系统
  • 网站维护好的方法/域名注册网站
  • 为什么网站不建议做充值功能/原版百度
  • 广东做网站的公司/百度竞价推广开户费用
  • php网站 怎么取得后台管理权限/郑州seo培训班
  • 数据结构(12)二叉树
  • 区分「尊重」和「顺从」
  • React ahooks——副作用类hooks之useDebounceFn
  • Spring之【循环引用】
  • spring boot 启动报错---java: 无法访问org.springframework.boot.SpringApplication 错误的类文件
  • 【运维基础】Linux 进程调度管理