USACO2.4の其中3道水题【模拟,图论】

T1:P1518-两只塔姆沃斯牛 The Tamworth Two


题目大意

两个东西,按照一个方向前进,他们撞到墙壁会顺时针90°,求他们多久后相遇。


解题思路

暴力模拟


code

// luogu-judger-enable-o2
#include<cstdio>
#include<iostream>
using namespace std;
const int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};
struct node{int x,y,f;
}f,c;
char a[11][11];
int main()
{for(int i=1;i<=10;i++)for(int j=1;j<=10;j++){cin>>a[i][j];if(a[i][j]=='F') f=(node){i,j,0};if(a[i][j]=='C') c=(node){i,j,0};}for(int i=1;i<=100000;i++){if(a[f.x+dx[f.f]][f.y+dy[f.f]]=='*'||f.x==10&&f.f==2||f.y==10&&f.f==1||f.x==1&&f.f==0||f.y==1&&f.f==3)f.f=(f.f+1)%4;else f.x+=dx[f.f],f.y+=dy[f.f];if(a[c.x+dx[c.f]][c.y+dy[c.f]]=='*'||c.x==10&&c.f==2||c.y==10&&c.f==1||c.x==1&&c.f==0||c.y==1&&c.f==3)c.f=(c.f+1)%4;else c.x+=dx[c.f],c.y+=dy[c.f];if(f.x==c.x&&f.y==c.y){printf("%d",i);return 0;}}printf("0");
}

T2:P1529-回家 Bessie Come Home


题目大意

26个小写字母和26个大写字母用边连接形成带权无向图
求离Z最近的大写字母。


解题思路

从Z出发,然后计算每个大写字母的距离最小的。


code

// luogu-judger-enable-o2
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#include<iostream>
using namespace std;
struct line{int from,to,w,next;
}a[200010];
int tot,ls[100],f[100],p,s,w,ans;
char x,y;
bool v[100];
queue<int> q;
void addl(int x,int y,int w)
{a[++tot]=(line){x,y,w,ls[x]};ls[x]=tot;}
void spfa()
{q.push(s);v[s]=true;memset(f,127/3,sizeof(f));f[s]=0;while(!q.empty()){int x=q.front();q.pop();for(int i=ls[x];i;i=a[i].next){int y=a[i].to;if(f[x]+a[i].w<f[y]){f[y]=f[x]+a[i].w;if(!v[y]){v[y]=true;q.push(y);}}}v[x]=false;}
}
int main()
{scanf("%d",&p);for(int i=1;i<=p;i++){cin>>x>>y>>w;if(x<='Z') x-='A'-1;else x-='a'-27;if(y<='Z') y-='A'-1;else y-='a'-27;addl(x,y,w);addl(y,x,w);}s=26;spfa();f[ans]=2147483647;for(int i=1;i<=25;i++)if(f[i]<f[ans]) ans=i;printf("%c %d",ans+'A'-1,f[ans]);
}

T3-P1530 分数化小数 Fractions to Decimals


题目大意

将一个分数表示成小数形式。


解题思路

因为懒得写所以用了一道更难的题的方法。


code

// luogu-judger-enable-o2
#include<cstdio>
#include<algorithm>
using namespace std;
int t;
int a,b,k,d,ans1,s;
int gcd(int a,int b)
{if (a%b==0) return b;return gcd(b,a%b);
}
int ksm(int x,int k)
{int ans=0;while(k){if (k&1) ans=(ans+x)%b;x=(x*2)%b;k>>=1;}return ans;
}
int qsm(int x,int k)
{int ans=1;while(k){if (k&1) ans=ksm(ans,x);x=ksm(x,x);k>>=1;}return ans;
}
int phi(int x)
{int ans=x;for (int i=2;i*i<=x;i++)if (x%i==0) {ans=ans/i*(i-1);while (x%i==0) x/=i;}if (x>1) ans=ans/x*(x-1);return ans;
}
void print(int a,int b,int hlen,int rlen)
{s++;a=a%b*10;if(hlen+rlen==0)hlen=1;for(int i=1;i<=hlen;i++){printf("%d",a/b);s++;if(s==76) printf("\n"),s=0;a=a%b*10;}if(rlen){printf("(");s++;if(s==76) printf("\n"),s=0;for(int i=1;i<=rlen;i++){printf("%d",a/b);s++;if(s==76) printf("\n"),s=0;a=a%b*10;}printf(")");s++;if(s==76) printf("\n"),s=0;}
}
int main()
{//freopen("out.txt","w",stdout);scanf("%d%d",&a,&b);printf("%d.",a/b);int k=a/b;if(!k) s=1;while(k){s++;if(s==76) printf("\n"),s=0;k/=10;}int ba=a,bb=b;k=10;ans1=0;int d=gcd(a,b);a/=d;b/=d;d=gcd(b,k);while ((d=gcd(b,k))>1) b/=d,ans1++;if (b==1) {print(ba,bb,ans1,0);return 0;}int x,y;x=y=phi(b);for (int i=2;i*i<=x;i++)if (!(y%i)){while (!(x%i)&&qsm(k,x/i)==1) x/=i;do y/=i; while(!(y%i));}if (y>1&&qsm(k,x/y)==1) x/=y;print(ba,bb,ans1,x);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323318.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaFX仿windows文件管理器目录树

一、windows文件管理器目录树 二、代码 /** To change this license header, choose License Headers in Project Properties.* To change this template file, choose Tools | Templates* and open the template in the editor.*/ package cn.util;import imagemanagesystem.…

用正则判断字符串是否为中文的方法

检测是否为中文 var reg /^([\u4E00-\u9FA5])*$/; if (!reg.test(name)) 好看字体 <!DOCTYPE html><html><head><meta charset"UTF-8"><title></title></head><body><h1 class"vintage1">美丽的…

开源纯C#工控网关+组态软件(三)加入一个新驱动:西门子S7

一、 引子 首先感谢博客园&#xff1a;第一篇文章、第一个开源项目&#xff0c;算是旗开得胜。可以看到&#xff0c;项目大部分流量来自于博客园&#xff0c;码农乐园&#xff0c;名不虚传^^。 园友给了我很多支持&#xff0c;并提出了很好的改进意见。现加入屏幕分辨率自适应…

有没有完全自助的国产化数据库技术?

大家好&#xff0c;我是雄雄。 SPL资料 SPL官网SPL下载SPL源代码 前段时间世界部分地区不断的起冲突&#xff0c;Oracle宣布“暂停在俄罗斯的所有业务”&#xff0c;相信大家的心情绝不是隔岸观火&#xff0c;而是细思恐极。 数据库号称IT领域三大核心之一&#xff08;其他两…

我为啥不看好ServiceMesh

转载自 我为啥不看好ServiceMesh 前言 今年&#xff0c;ServiceMesh(服务网格)概念在社区里头非常火&#xff0c;有人提出2018年是ServiceMesh年&#xff0c;还有人提出ServiceMesh是下一代的微服务架构基础。作为架构师&#xff0c;如果你现在还不了解ServiceMesh的话&…

USACO2.4のP1519-穿越栅栏(Overfencing)【bfs】

正题 题目大意 一个迷宫&#xff0c;有许多出口&#xff0c;求一个点到最近的出口最远。 解题思路 直接bfs暴力搜索&#xff0c;然后保存上次的答案 code // luogu-judger-enable-o2 #include<cstdio> #include<queue> #include<cstring> #define N 210 u…

人生路漫漫,还得多输出

今天看了下别人的博客&#xff0c;感觉有点受打击&#xff0c;自己写博客花的时间还是太少&#xff0c;感觉到现在还是没有写博客的习惯。回头想想&#xff0c;其实要写的东西挺多的&#xff0c;就是不愿意写&#xff0c;莫名其妙的觉得很简单&#xff0c;写出来肯定很水&#…

ASP.NET Core 2.0 支付宝当面付之扫码支付

前言 自从微软更换了CEO以后&#xff0c;微软的战略方向有了相当大的变化&#xff0c;不再是那么封闭&#xff0c;开源了许多东西&#xff0c;拥抱开源社区&#xff0c;.NET实现跨平台&#xff0c;收购xamarin并免费提供给开发者等等。我本人是很喜欢.net的&#xff0c;并希望.…

Git使用教程:最详细、最傻瓜、最浅显、真正手把手教

转载自 Git使用教程&#xff1a;最详细、最傻瓜、最浅显、真正手把手教 一&#xff1a;Git是什么&#xff1f; Git是目前世界上最先进的分布式版本控制系统。 工作原理 / 流程&#xff1a; Workspace&#xff1a;工作区 Index / Stage&#xff1a;暂存区 Repository&…

【git】如何在github上推送并部署自己的项目

口令快捷 git add . git commit --m "XXXX" git remote add origin https://github.com/lifeload/new-problem.git git push -f origin master修改或删除文件 git add 对应文件/. git commit -m “xxx” git push origin master 1、上传代码 2、设置&#xff0c;建立…

USACO2.4のP1522-牛的旅行(Cow Tours)【最短路Flody】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP1522 题目大意 有n个点&#xff0c;连接任意两个不同联通块上的点&#xff0c;使这个新的联通块之间最远的两个点的距离最远。 解题思路 先FlodyO(n3)O(n^3)O(n3)计算两两之间的距离 然后计算出每个…

一起聊聊Microsoft.Extensions.DependencyInjection

Microsoft.Extensions.DependencyInjection在github上同样是开源的&#xff0c;它在dotnetcore里被广泛的使用&#xff0c;比起之前的autofac,unity来说&#xff0c;它可以说是个包裹&#xff0c;或者叫适配器&#xff0c;它自己提供了默认的DI实现&#xff0c;同时也支持第三方…

这 10 道 Spring Boot 常见面试题你需要了解下

转载自 这 10 道 Spring Boot 常见面试题你需要了解下 1.什么是Spring Boot&#xff1f; 多年来&#xff0c;随着新功能的增加&#xff0c;spring变得越来越复杂。只需访问https://spring.io/projects页面&#xff0c;我们就会看到可以在我们的应用程序中使用的所有Spring项…

【git】如何给github绑定ssh

首先在git上输入 &#xff1a; ssh-keygen 会在c盘的用户账号的文件夹.ssh上生成两个密钥 &#xff08;如果没有生成&#xff0c;请注意自己是否按了enter&#xff0c;出现一个小方框为止&#xff09; 将.pug用笔记本打开 全选复制 来到github的设置上 将刚刚复制的东西黏…

nssl1231-Gift【01背包,dp】

正题 题目大意 n个物品&#xff0c;每个物品有cic_ici​元&#xff0c;求有多少种方案数使得无法再买另外任何的东西。 解题思路 我们发现其实对于每种方案判断只需要考虑剩下的最小的哪一个&#xff0c;所以我们可以将ccc从小到大排序。然后用fi,jf_{i,j}fi,j​表示选择了1∼…

【杭州】Hack for Cloud Beginner微软黑客松大赛

在这美丽的西子湖畔&#xff0c;我们欢迎各行各业的开发者参与此次Hack for Cloud Beginner微软黑客松大赛。我们致力于为开发者们提供在技术、社区领域中的交流平台&#xff0c;重在参与&#xff0c;意于创新。 此次黑客松大赛将于10月22日在中国杭州拉开帷幕&#xff0c;参与…

Java高级开发必会的50个性能优化的细节(珍藏版)

转载自 Java高级开发必会的50个性能优化的细节&#xff08;珍藏版&#xff09; 在JAVA程序中&#xff0c;性能问题的大部分原因并不在于JAVA语言&#xff0c;而是程序本身。养成良好的编码习惯非常重要&#xff0c;能够显著地提升程序性能。 ● 1. 尽量在合适的场合使用单例…

nssl1232-函数【数论,欧拉函数,莫比乌斯反演】

正题 题目大意 ∑d∣nf(d)n\sum_{d|n}f(d)nd∣n∑​f(d)n 对于n个aia_iai​ 求 ∑i1nf(ai)\sum_{i1}^nf(a_i)i1∑n​f(ai​) 解题思路——莫比乌斯反演 这个方法对于aia_iai​比较大时比较好用&#xff0c;但是事实证明本题过不了。 用莫比乌斯反演可得到此公式 f(n)∑d∣nμ(…

从0部署一个动态网站

准备&#xff1a;购买域名和服务器 下载软件&#xff1a;服务器上下载宝塔面板和xampp 首先区分动态网站和静态网站区别&#xff1a;动态网站是指数据可以交互的&#xff0c;根据不同的人出现不同的页面&#xff0c;要用到数据库和php。登录注册是动态网站最基础的部分 而静态…

最新的.NET Framework聚焦于改进可访问性

Microsoft宣布预发布.NET Framework 4.7.1&#xff0c;其中包括了各种全面的改进。这里&#xff0c;我们关注一下在WPF应用可访问性上所做的改进。改进的设想针对领域是屏幕报读器&#xff08;Screen Reader&#xff09;和高对比度场景。Microsoft的Preeti Krishna表示&#xf…