模拟:洛谷P1563 玩具谜题

news/2024/11/8 6:31:07/

总结:

某些需要搜索的情况下,

使用数组比使用链表快捷的多,如本题中通过下标的变化来搜索,使用链表则需要循环来消耗太多时间。

初做法:(几个测试点超时:80分)

#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
typedef struct list {int dir;char w[10];list* next;list* befo;
}node;
node* head=NULL;
int a[100001], s[100001];
int min(int a, int b)
{if (a < b)return a;return b;
}
int main()
{int n, m,i,j,sum;node* pr = NULL;node* nnode = (node*)malloc(sizeof(node));cin >>n >> m;for(i=0;i<n;i++){if(i!=0)nnode = (node*)malloc(sizeof(node));pr = NULL;if (head == NULL){head = nnode;pr = head;}else{for (pr = head; pr->next != NULL; pr = pr->next);pr->next = nnode;}cin >> nnode->dir;cin >> nnode->w;nnode->next = NULL;if(nnode!=head)nnode->befo = pr;}nnode->next = head;head->befo = nnode;for (i = 0; i < m; i++)cin >> a[i] >> s[i];node* find = head;for(i = 0; i < m; i++){int minone = min(s[i], n - s[i]);sum = a[i] + find->dir;if(sum==1){if(minone==s[i])for (j = 0; j < minone; j++)find = find->next;elsefor (j = 0; j < minone; j++)find = find->befo;}else{if (minone == s[i])for (j = 0; j < minone; j++)find = find->befo;elsefor (j = 0; j < minone; j++)find = find->next;}}cout << find->w;
}

数组做法:

#include<iostream>
#include<cstdio>
using namespace std;
struct node {int dir;char job[100];
};
node toy[100001];
int a[100001], s[100001];
int main()
{int n, m,i,j,ans;cin >> n >> m;for (i = 0; i < n; i++)cin >> toy[i].dir >> toy[i].job;for (i = 0; i < m; i++)cin >> a[i] >> s[i];ans = 0;for (j = 0; j < m; j++){if (a[j] + toy[ans].dir == 1){ans += s[j];if (ans > n-1)ans -= n;}else{ans -= s[j];if (ans < 0)ans += n;}}cout << toy[ans].job;}


http://www.ppmy.cn/news/911132.html

相关文章

唐门暗器之私有云排名

一、私有云概念 私有云是企业传统数据中心的延伸和优化&#xff0c;能够针对各种功能提供存储容量和处理能力。私有云是为了一个客户单独使用而构建的&#xff0c;因此在存储、安全和服务上都较公有云有着更好地保障。 二、专有云简介 专有云&#xff0c;也可称之为“专属公有…

ZSTUOJ 三只小猪

Problem : 三只小猪 Description 这日&#xff0c;快码佳编四兄弟姐妹来到了一个山脚下&#xff0c;只听一个老奶奶给两个孙子讲故事。 你听说过三只小猪的故事吗&#xff1f;这是一个经典的故事。很久很久以前&#xff0c;有三只小猪。第一只小猪用稻草建的房子&#xff0c;…

第一集 斗罗世界 引子 穿越的唐家三少

第一集 斗罗世界 引子 穿越的唐家三少 巴蜀&#xff0c;历来有天府之国的美誉&#xff0c;其中&#xff0c;最有名的门派莫过于唐门。 唐门所在是一个神秘的地方&#xff0c;许多人只知道&#xff0c;那是一个半山腰&#xff0c;而唐门所在这座山的山顶有一个令人胆颤心惊的名字…

喝酒的小猪

Pick is Style, a strong and lovely chibi pig lying flat on the chair, holding a beer bottle, simple background, lovely chibiBaby, c4d, vray, maya translation, 8K --v 4 --ar 1:1

洛谷P1043数字游戏题解--zhengjun

题目描述 丁丁最近沉迷于一个数字游戏之中。这个游戏看似简单&#xff0c;但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易。游戏是这样的&#xff0c;在你面前有一圈整数&#xff08;一共 n n n个&#xff09;&#xff0c;你要按顺序将其分为…

小游戏 《唐僧大战白骨精》

##小游戏 《唐僧大战白骨精》 有点小无语的小游戏 当时做的还挺认真的 rint("欢迎光临 xxx 游戏&#xff01;\n""请选择你的身份&#xff1a;&#xff01;\n""1.唐僧\n""2.白骨精\n""-----------------") sfinput("请…

三只小猪的故事[漫画]

知道软件开发知识的人在我们这个社会只占极少数。而软件却几乎是所有人每天都有用到的东西。这种不平衡给我们的软件开发带来了很多的问题。 就比如我们承接的项目主要是政府机构提供的&#xff0c;这种项目来钱很快&#xff0c;但弊病是需方很强势&#xff0c;他们很少有懂得软…

独一无二的《斗罗大陆》小游戏火爆上线,玩家闯关等你来~(等级有点儿难)

前言 大家好&#xff01;我是梨子同学&#xff01; 希望大家多多支持我&#xff01;哈哈 为了感谢每一个关注我的小可爱&#xff1a;&#x1f493;每篇文章的项目源码都是无偿分享滴&#x1f493;&#x1f447;&#x1f447;&#x1f447;&#x1f447; 点这里蓝色这行字体自取…