如何设计酒店网站建设大气产品展示网站源码
news/
2025/9/27 15:01:46/
文章来源:
如何设计酒店网站建设,大气产品展示网站源码,上海歌舞娱乐场所停业,制作网站公司那家好1、题目名称#xff1a;小球游戏 某台有10个小球的游戏机#xff0c;其设定的规则如下#xff1a; 每一轮游戏在开始之前会把编号为0到9的小球依次放入从左到右编号也为0到9的10个位置#xff1b;游戏开始后会快速对调任意两个球的位置若干次#xff0c;并在结束时要求观众…1、题目名称小球游戏 某台有10个小球的游戏机其设定的规则如下 每一轮游戏在开始之前会把编号为0到9的小球依次放入从左到右编号也为0到9的10个位置游戏开始后会快速对调任意两个球的位置若干次并在结束时要求观众写出从左到右的小球编号顺序写对就得奖。由于速度很快所以直接靠观看写对很难。但有个程序员发现这台游戏机其实有一个固定的长度为n的操作序列数据库每一轮游戏都是随机取一个起始操作序列编号和一个结束操作序列编号操作序列编号从1到n并从起始到结束依次执行每个操作序列编号对应的操作而每个操作序列编号对应的操作就是对该次操作指定的两个编号的位置上的小球进行对调。 现在给出操作序列数据库和每一轮游戏的起始操作序列编号和结束操作序列编号求每轮游戏结束时从左到右的小球编号顺序。 之前考过的题目根据字面意思写代码就行了并没有任何陷阱
#includestdint.h
#includestdio.h
#includestdlib.h
#includestring.h typedef struct _POS {int a;int b;
} POS;int swap(int *datas, int a, int b) {int c datas[a];datas[a] datas[b];datas[b] c;return 0;
}int showdatas(int *datas, int n) {for (int i 0; i n; i) {if (i 0) {printf(%d, datas[i]);} else {printf( %d, datas[i]);}}printf(\n);return 0;
}int resetdatas(int *datas) {for (int i 0; i 10; i) {datas[i] i;}return 0;
}int main() {int n 0, m 0;scanf( %d %d, n, m);POS*pos (POS*) malloc(sizeof (POS) * n);memset(pos, 0, sizeof (POS) * n);for (int i 0; i n; i) {int a 0, b 0;scanf( %d %d, a, b);pos[i].a a;pos[i].b b;}int datas[10] {0};for (int i 0; i m; i) {int a 0, b 0;scanf( %d %d, a, b);resetdatas(datas);a--;b--;for (int j a; j b; j) {swap(datas, pos[j].a, pos[j].b);}showdatas(datas, 10);}return 0;
}2、题目名称王子闯闸门 波斯王子要去救被贾法尔囚禁的公主但贾法尔用黑魔法在他面前设置了编号从1到n的n道闸门。从王子的位置到1号闸门需要1秒从n号闸门到公主所在的位置也需要1秒从p号闸门到p1或p-1号闸门都需要1秒。 每过1秒钟王子都必须决定选择前进一道闸门、后退一道闸门或停在原地这三种动作中的一种。当然王子不能选择移动到关闭状态的闸门而只能选择开启状态的闸门。在王子做出动作选择后闸门也可能会有关闭和开启的动作如果王子做完动作后其所在的闸门在该秒内的动作是从开启变为关闭则他就会被闸门夹死。 现在给出闸门数量n和m个闸门的动作时刻表求波斯王子需要多少秒才能救出公主。 这边暴力求解无非就是前进停止后退三个行为 这次虽然没超时但通过率只有40% 都暴力了还没通过想不通
#includestdio.h
#includestdlib.h
#includestring.h typedef struct _POS {int id;int start;int end;
} POS;int max(int a, int b) {return a b ? a : b;
}
//判断当前位置当前时间是否可行
int checkok(POS*pos, int m, int p, int t) {for (int i 0; i m; i) {if (pos[i].id ! p) {continue;}if (pos[i].start t pos[i].end t) {return 0;}}return 1;
}
int mint -1;int min(int a, int b) {if (a -1) {return b;}return a b ? a : b;
}int tryrun(POS*pos, int m, int p, int t, int n) {//不能再退了if(p-1){return -1;}//超过当前最佳成绩不再执行if (mint ! -1 t mint) {return 0;}//到达目的地了if (p n 1) {//printf(%d,t); mint min(mint, t);return 1;}if (checkok(pos, m, p 1, t 1)) {tryrun(pos, m, p 1, t 1, n);}if (checkok(pos, m, p, t 1)) {tryrun(pos, m, p, t 1, n);}if (checkok(pos, m, p - 1, t 1)) {tryrun(pos, m, p - 1, t 1, n);}return 0;
}int main() {int n, m;scanf( %d %d, n, m);POS*pos (POS*) malloc(sizeof (POS) * m);memset(pos, 0, sizeof (POS) * m);for (int i 0; i m; i) {int a, b, c;scanf( %d %d %d, a, b, c);pos[i].id a;pos[i].start b;pos[i].end c;}tryrun(pos, m, 0, 0, n);printf(%d, mint);return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916562.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!