2015.10.16赛码联考题解,非正确,求大神指导。

//只AC了20%。说的就是11个位置一字型排开0-10。扔硬币到这些位置,然后有个帽子可以每次移动最多一个位置,初始位置5。

//思考:相当于遍历一个3叉树。

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

struct coins
{
int x;
int T;
};
int main ()
{
int n,i,j,k;
coins coins1[100000]={0};
int m=0;
coins top;
cin>>n;
for (i=0; i<n; i++)
{
cin>>coins1[i].x>>coins1[i].T;
if (coins1[i].x >10 || coins1[i].x < 0)
{
cout<<0;
return 1;
}
}

vector<coins> stackk;
coins ini;
ini.x = 5;
ini.T = 0;
stackk.push_back(ini);
while(!stackk.empty())
{
top.x = stackk.back().x;
top.T = stackk.back().T;
stackk.pop_back();
for (int k=0; k<n; k++)
{
if (coins1[k].T == top.T+1 && abs(coins1[k].x - top.x)<=1)
{
stackk.push_back(coins1[k]);
if (coins1[k].T > m)
m = coins1[k].T;
}
}
}
cout <<m;
return 0;
}

//第三题:说坐电梯,可以选择地梯,楼梯下楼,电梯花费时间分为移动一层t1,开门t2,关门t3;走楼梯每层t4,求最快的下楼方法。

//思考:最快的方式应该是人按下地梯的同时自己也走楼梯,然后与地梯再某层相遇。AC竟然为0    /(ㄒoㄒ)/~~粗心大意写错了一个运算符。没时间就是苦逼啊。不知道现在这代码能

//AC多少。

// #include <iostream>
// using namespace std;
//
// int main() {
// int n;
// int m;
// int t1;
// int t2;
// int t3;
// int t4;
// cin>>n>>m>>t1>>t2>>t3>>t4;
// int time= (n-1)*t4;
// int stepN = 0;
// if(n>=m)
// {
// stepN = (n-m)*t1/t4;
// int absMToN = n-m - stepN;
// while(stepN!=absMToN*t1/t4){
// stepN = absMToN*t1/t4;
// absMToN = n-m-stepN;
// }
// }
// else {
// stepN = ((m-n) *t1/t4);
// int absMToN = m + n +stepN;
// while(stepN!=absMToN*t1/t4)
// {
// stepN = absMToN*t1/t4;
// absMToN=m-n+stepN;
// }
// }
// n=n-stepN;
// int absNM=0;
// if(n>=m){
// absNM = n-m;
// }
// else{
// absNM=m-n;
// }
// int tempTime = (absNM - n - 1)*t1+2*t2+t3;
// if(time>=tempTime)
// cout<< tempTime<<endl;
// else{
// cout<< time <<endl;
// }
// return 0;
// }

第二题,感觉最难,也没有提交了,不能AC测试了,我还是准备练习一下ACM吧。

很久没写代码了,看来要加强练习了。

时间: 2024-08-03 17:24:31

2015.10.16赛码联考题解,非正确,求大神指导。的相关文章

3.5~3.6联考题解

本来想加个密码的,后来一想全HE就咱们这几个人,外省的dalao愿看也没事儿,就公开算了,省得加密码各种麻烦. 先补这两天的题解吧--如果有空的话我可能会把上次联考的题解补上= =(中午没睡觉,现在困得很,根本没法写题-- 算算算number 感觉出题人出题的时候zz了吧,费了半天搞出来一个极其麻烦还跑得慢的做法是要闹哪样啊-- 算了,写一写$O(nk)$做法的推导过程吧,虽然其实非常好推-- 首先定义$S_i$表示到$1~i$位置的前缀和,并且规定$S_0=0$,那么 \begin{align

8.9联考题解

今天的题有质量多了,尤其是第一题不再毫无意义,果然考这样的试比较有收获. 时间限制:1sec  内存限制:128MB 题解       刚开始看的时候没有思路.不过这样的考试才叫正常嘛,前两天T1那是什么玩意= =.边读题边写前缀和.离散之类的词,但是前缀和并不能处理出题目中所要求的情况,3*10^5大概最多nlogn.举了几个例子,发现好像和后面大于它的数有关,想了想怎么求它后面大于它的数字个数,过了一会猛然发现我举的例子也太特殊了,全都是单调递增的,有点挫败,就去做后面的题了.T2做了很久还

8.10联考题解

早上起来莫名困,天天晚上十点睡为什么会困我也不是很懂--然后就迷迷瞪瞪做题,一直都不大清醒.因为一点智障的知识漏洞T3完全挂,然后T2炸内存T1做了两个多小时没做出来~但是也只能说明自己弱,好在现在发现这些坑总比联赛之后发现好得多吧. Evensgn 剪树枝 出题人:Vincent 时间限制:1s 空间限制:128MB 题目描述 繁华中学有一棵苹果树.苹果树有 n 个节点(也就是苹果),n ? 1 条边(也就是树枝).调皮的 Evensgn 爬到苹果树上.他发现这棵苹果树上的苹果有两种:一种是黑

8.13联考题解

最长上升子串 时间限制: 2 Sec  内存限制: 64 MB 样例输入 67 2 3 1 5 6 样例输出 5 题解       刚一读题觉得和昨天T3相似度极高,只不过是久违的子串.还是想动归思路,f[i][1/0]表示到第i位是/否已经改变过序列的值,然后大概就是个择优转移的思路:受到昨天那题局限用一个辅助数组记录了一下改变后的值,贪心策略把它设为a[i-1][0]+1,.开始上手打,代码倒是很短,怎么想怎么觉得不对劲,自己凭着感觉开始刻意造数据卡这个做法.试了几组数之后成功用123745

8.8联考题解

今天的T1让我怀疑我是不是在做奥赛题--这考的是什么知识点啊这个,会不会用绝对值函数? Evensgn 的债务 时间限制: 1 Sec  内存限制: 128 MB 题目描述 Evensgn 有一群好朋友,他们经常互相借钱.假如说有三个好朋友A,B,C.A 欠 B 20 元,B 欠 C 20 元,总债务规模为 20+20=40 元.Evensgn 是个追求简约的人,他觉得这样的债务太繁杂了.他认为,上面的债务可以完全等价为 A 欠C20 元,B 既不欠别人,别人也不欠他.这样总债务规模就压缩到了 

8.12联考题解

所谓今天的题格外水,dalao们纷纷AK--但是本蒟蒻并没有看出来有多水啊--虽然还是水过了一道题,然后剩下的题就照常地转不过来弯,分数和往常并没有多大变化= =. 灌水 时间限制:1s 空间限制:256MB 样例输入1: 3 1 样例输出1: 3 1 2 样例输入2: 4 1 样例输出2: 4 3 1 2 样例输入3: 8 17 样例输出3: 6 2 3 1 8 4 5 7 题解       这个题,第一眼看过去很interesting,第二眼看过去一脸茫然--头一遍读题的时候看到数据范围里那

8.7联考题解

前两题很水啊--没必要开三篇了就扔到一篇里去了.改水题异常艰难,代码量很小然而我又被什么奇怪的东西绊住了. Passward 时间限制: 1 Sec  内存限制: 512 MB 题目描述 你来到了一个庙前,庙牌上有一个仅包含小写字母的字符串 s. 传说打开庙门的密码是这个字符串的一个子串 t,并且 t 既是 s 的前缀又是 s 的后缀并且还在 s 的中间位置出现过一次. 如果存在这样的串,请你输出这个串,如有多个满足条件的串,输出最长的那一个. 如果不存在这样的串,输出"Just a legen

8.11联考题解

样例输入: 3 6 0 -1 1 1 0 -1 -1 1 0 1 2 3 1 2 3 样例输出: 3 题解      不要看上面那个吓人的时间限制--实际上内网给了4Sec,高明的模拟能过:外网给的时间比这还多,直接暴力模拟就能A,这就是为什么我今天成绩莫名高了不少.刚开始就只想到了模拟,用链表可以稍微优化一点有限,然而时间效率近似于n*答案,要依靠答案的大小来决定时间效率,让我不由得想到某名为<天鹅会面>的惨痛事故.想了很久还是没想出来,直接把模拟当做骗分程序来写,连快读都没有写:自认为是今

android 边学边记 2015.10.16

1.Menu.FIRST在reference中描述为:First value for group and item identifier integers.我们可以理解为ID设置的最小数值. 2.setDefaultKeyMode (int mode) 用来设置一个Activity的默认的按键模式, 也就是指这种情况,当Activity中发生了一些按键事件,但是这些事件没有被任何控件Listen到时(截获时), 系统应该如何处理这些按键事件. mode一共有五种 DEFAULT_KEYS_DIS