A  暑假作业题

链接:http://code.bupt.edu.cn/problem/p/469/

大致题意:见题目

思路:就是一个比较繁琐的模拟,个人感觉思路还挺清晰的。我的方法是先分成亿来处理,再分成万来处理,在每个万单位中分别枚举千位百位十位个位,再仔细处理一下0的问题就能过了。      !!!!比赛时没有考虑0的情况,我的代码在输入0的时候只输出了一个换行符,wa了一场。。。。 比赛完加了一行代码就过了。

code:

#include <iostream>
#include <cstring>
#include <cstdlib>
#include<cstdio>
#include <algorithm>
#include <vector>
#include <cmath>
#include <queue>
#define INF -1000000000
#define eps 1e-9
using namespace std;const long long e=100000000;
const long long w=10000;
const long long q=1000;
const long long b=100;
const long long s=10;bool flag;
bool mark;void www(long long n1)
{long long mid;mid=n1/q;if(mid!=0){printf("%lldQ",mid);flag=true;mark=false;}else mark=true;n1%=q;mid=n1/b;if(mid!=0){if(mark&&flag) printf("0");printf("%lldB",mid);flag=true;mark=false;}else mark=true;n1%=b;mid=n1/s;if(mid!=0){if(mark&&flag) printf("0");printf("%lldS",mid);flag=true;mark=false;}else mark=true;n1%=s;mid=n1;if(mid!=0){if(mark&&flag) printf("0");printf("%lld",mid);flag=true;mark=false;}else mark=true;
}
void eee(long long nn)
{long long n1=nn/w;long long n2=nn%w;if(n1!=0){www(n1);printf("W");}if(n2!=0){www(n2);}
}
void solve(long long nn)
{flag=false;mark=false;long long n1=nn/e;long long n2=nn%e;long long mid;if(n1!=0){mid=n1/e;if(mid!=0){printf("%dEE",mid);flag=true;mark=false;}else mid=true;n1%=e;eee(n1);printf("E");}if(n2!=0){eee(n2);}printf("\n");
}
int main()
{int T;long long  nn;scanf("%d",&T);while(T--){scanf("%lld",&nn);if(nn==0) printf("0\n");else solve(nn);}
}

B 最长数链

链接:http://code.bupt.edu.cn/problem/p/443/

思路:多写几项就会发现其实就是判断第二个数是2还是3,分别计算一下各自的项数就可以了。

code:

#include <iostream>
#include <cstring>
#include <cstdlib>
#include<cstdio>
#include <algorithm>
#include <vector>
#include <cmath>
#include <queue>
#define INF -1000000000
#define eps 1e-6
using namespace std;void solve(int n)
{double tt,midtt;int nn;tt=(int)(log(n/2)/log(2)+eps);midtt=(int)(log(n/3)/log(2)+eps);if(midtt==tt) nn=3;else nn=2;if(n==2) nn=2;printf("1");if(n!=1) printf(" ");for(int i=nn;i<=n;i*=2){printf("%d",i);if(i*2<=n) printf(" ");}printf("\n");
}int main()
{int n;while(scanf("%d",&n)!=EOF){solve(n);}return 0;
}

C 三角形传说

链接:http://code.bupt.edu.cn/problem/p/453/

大致题意:给定正整数 m 和 q,求满足 a % m + b % m = c % m = q 的条件的三角形中周长的最小值。

思路:

使A=a+k1*m,B=b+k2*m,C=c+k3*m,则有a+b=c=q k1+k2>k3

1. q=0 为了使三角形的周长最小 则k1=k2=k3=1

2. q=1 因为m是大于等于2的 此时最小值为 a=1 b=0 c=1 k1=1,k2=1,k3=1

3. q>=2

(1) 2*q>m   此时的最小值为  a=q b=0 c=q  k1=0 k2=1 k3=0

(2)2*q<=m  此时的最小值为 a=q b=0 c=q     k1=1 k2=1 k3=0

code:

#include<cstdio>
int main()
{int T;scanf("%d",&T);for(int i=1;i<=T;i++){int q,m;scanf("%d%d",&m,&q);if(q==1||q==0) printf("Case %d: %d\n",i,2*q+3*m);else if(2*q>m) printf("Case %d: %d\n",i,2*q+m);else printf("Case %d: %d\n",i,2*q+2*m);}return 0;
}

D 帮帮小叮当

链接:http://code.bupt.edu.cn/problem/p/454/

思路:关键就是建图 从起点向所有的传送门引一条边其权值为两点的曼哈顿距离 每个传送门向相邻的传送门引一条边权值为1 每个传送门向终点引一条边权值为两点的曼哈顿距离,再用spfa求两点间最短路径即可。

code:

#include <iostream>
#include <cstring>
#include <cstdlib>
#include<cstdio>
#include <algorithm>
#include <vector>
#include <cmath>
#include <queue>
#define INF 1000000000
#define eps  0.001
using namespace std;const int MAX_E=100050;
const int MAX_V=10010;
const int MAX_Q=100050;struct edge{int to,cost,next;} E[MAX_E];
int head[MAX_V],que[MAX_Q],he,ta,si;
void add_edge(int s,int t,int cc)
{E[si].to=t;E[si].cost=cc;E[si].next=head[s];head[s]=si++;
}int dis[MAX_V];
bool vis[MAX_V];
int V,M;void spfa(int s)
{for(int i=0;i<=V;i++) dis[i]=INF;memset(vis,0,sizeof(vis));dis[s]=0;vis[s]=true;he=ta=0;que[ta++]=s;while(he!=ta){int v=que[he++];for(int i=head[v];i!=-1;i=E[i].next){int mid=E[i].to;if(dis[v]+E[i].cost<dis[mid]){dis[mid]=dis[v]+E[i].cost;if(!vis[mid]){vis[mid]=true;que[ta++]=mid;}}}vis[v]=false;}
}
int main()
{int n,m;scanf("%d%d",&n,&m);while(n!=0&&m!=0){memset(head,-1,sizeof(head));si=0;for(int i=1;i<=n;i++){int t;scanf("%d",&t);add_edge(0,i,i+t-2);add_edge(i,n+1,(n-i)+(m-t));if(i==1||i==n) continue;add_edge(i,i-1,1);add_edge(i,i+1,1);}add_edge(1,2,1);add_edge(n,n-1,1);V=n+1;spfa(0);printf("%d\n",dis[n+1]);scanf("%d%d",&n,&m);}
}

E 待学习

2014 BUPT 新生排位赛07相关推荐

  1. 南邮2014程序设计新生赛暨蓝桥杯校内自主选拔赛

    南邮2014程序设计新生赛暨蓝桥杯校内自主选拔赛 题目链接:  http://acm.njupt.edu.cn/acmhome/contest.do?&method=contestDetail ...

  2. 2014.03.04-2014.03.07调研比较流行的手机视频播放器UI

    调研至少10种不同的流行手机视频播放器的UI,主要包括视频播放功能,浏览功能,订购功能,账户管理功能,付费功能,浏览历史记录,爱好,账单记录等 今天5:15-6:30   选择好哪10种视频播放软件 ...

  3. 祝老婆-2014年03月07日女生节快乐!

    [作者]  常用网名: 猪头三 出生日期: 1981.XX.XX 生理特征: 男 婚姻状况: 已婚 个人网站: http://www.x86asm.com Email:    pliceman_110 ...

  4. 北邮新生排位赛2解题报告d-e

    <> 427. 学姐逗学弟 时间限制 3000 ms  内存限制 131072 KB 题目描述 学弟们来了之后,学姐每天都非常高兴的和学弟一起玩耍.这一天,学姐想出了这样一个游戏,她画了一 ...

  5. 计算机入会大会新生发言稿,新生大会发言稿(精选3篇)

    新生大会发言稿(精选3篇) 现如今,我们总不得不需要用到发言稿,发言稿在写作上具有一定的格式要求.大家知道发言稿怎么写才正确吗?以下是小编帮大家整理的新生大会发言稿,欢迎大家借鉴与参考,希望对大家有所 ...

  6. 计算机入会大会新生发言稿,新生大会发言稿(精选7篇)

    新生大会发言稿(精选7篇) 在现在社会,接触并使用发言稿的人越来越多,发言稿的写法比较灵活,结构形式要求也不像演讲稿那么严格,可以根据会议的内容.一件事事后的感想.需要等情况而有所区别.大家知道发言稿 ...

  7. 哪些些实验适合用计算机实测,计算机实测物理实验2014年讨论内容

    >老师您好,我在做李萨如图时,在r=2kΩ时,两组数据都小于理论值,而且,其李萨如图结果与计算结果相同.不知为什么 邓君元 14301050044 (202.120.224.114) 这个结果很 ...

  8. 计算机应用技术新生入学感想,入学心得体会范文

    荀子曰:学不可以已.人的一生就是一个不断学习不断自我完善的过程.入学是人生必经的一件事.下面是学习啦带来的入学的心得体会,仅供参考. 入学心得体会一: 高一新生入学教育 大家下午好!首先,我代表高一( ...

  9. 报泰山学堂计算机条件,泰山学堂计算机取向举行2014级教授小组见面会

    10月25日上午,泰山学堂2014级计算机取向教授小组见面会在中心校区知新楼举行.2014级计算机取向全体学生和教授小组成员对本次见面会期待已久,全体人员集体提前到场,见面会得以提前开始. 见面会伊始 ...

最新文章

  1. windows redis安装与配置
  2. HP NIC Teaming技术探讨
  3. ACM练习 校赛183F:公平的游戏(TLE)【vector不重复添加、删除指定元素、排序】
  4. linux 输入是否为数字,【shell】Linux shell 之 判断用户输入的变量是否为数字
  5. 深度学习之卷积神经网络(12)深度残差网络
  6. mysql换成oracle_从mysql转换到oracle数据库
  7. Matlab--三种工具绘制errorbar图
  8. SQL 中操作XML类型数据
  9. flink fi java_Flink DataStream API编程指南
  10. android对话框合集AlertDialog
  11. java案例代码1-生成随机验证码
  12. 《机器人编程实战》一一2.1 为什么需要更多努力
  13. nRF52283开发板 基于ble_peripheral\ble_app_blinky demo添加新的私有服务
  14. 在微信中实现一键调用扫一扫
  15. 计算平均指令时间_上海原油期货将推出TAS指令
  16. (十一)简单的2维机器人仿真器
  17. jetson用什么编译器_Jetson Nano安装 Jupyter lab
  18. 腾讯安卓开发面试,腾讯+字节+阿里面经真题汇总,Android篇
  19. 免费在线CAD转PDF怎么批量转换
  20. CDC-NCM和CDC-ECM性能差别

热门文章

  1. 百度的文心一言 ChatGTP 的对比
  2. Win10玩方舟生存进化崩溃怎么办?
  3. 把那个读书的家伙拉出来游坛示众
  4. 爬取巴比特快讯遇到状态码“521”
  5. 安利一个自动求导网站
  6. 飞腾CPU体系结构(八)
  7. C语言中格式化字符串
  8. win系统下设置小鹤双拼
  9. “三年拿下全球第一!”7年小米销量冲到全球第二,雷军做对了什么?
  10. H3C交换机型号区分