計蒜客 跳躍遊戲
給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。
陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。
請確認你是否能夠跳躍到陣列的最後一個下標。
例如:
A = [2,3,1,1,4],
return true.
A = [3,2,1,0,4],
return false.
格式:
第一行輸入一個正整數n,接下來的一行,輸入陣列A[n]。如果能跳到最後一個下標,輸出“true”,否則輸出“false”
樣例輸入
5
2 0 2 0 1
樣例輸出
true
做這個題首先 感覺是隻要跳到最後一個就行了
然後
#include <iostream>
#include <iomanip>
#include <cstring>
#include <stdio.h>
#include <algorithm>
#include <cmath>
using namespace std;
int a[5000000],b[5000000];
int main()
{
int n;
while(cin>>n)
{
memset(b,0,sizeof(b));
int i,j;
for(i=0;i<n;i++) cin>>a[i];
b[0 ]=1;
for(i=0;i<n;i++)
{
int k=i;
if(b[i])
for(j=i;j<=k+a[i];j++)
{
b[j]=1;
}
}
if(b[n]==1) cout<<"ture";
else cout<<"false";
cout<<endl;
}
}
這個程式碼赤裸裸的wr
然後發現此程式碼的漏洞
就是說 如果中間存在斷路 但是後面接上的那種情況
這個程式碼就無法通過
然後改下
#include <iostream>
#include <iomanip>
#include <cstring>
#include <stdio.h>
#include <algorithm>
#include <cmath>
using namespace std;
int a[5000000],b[5000000];
int main()
{
int n;
while(cin>>n)
{
memset(b,0,sizeof(b));
int i,j;
for(i=0;i<n;i++) cin>>a[i];
b[0]=1;
for(i=0;i<n;i++)
{
int k=i;
if(b[i]) //如果沒有斷路就繼續
for(j=i;j<=k+a[i];j++)
{
b[j]=1;
}
else //如果出現斷路 就證明根本跳不到
{
cout<<"false"<<endl;
return 0;
}
}
cout<<"true"<<endl;
}
}
#include<iostream>
#include<vector>
using namespace std;
bool tiao(vector<int> ivec,int n)
{
if(n==1)//只有一個元素, 返回true
return true;
int i=0;
while(i<n-1)
{
i += ivec[i];
if(ivec[i]==0 && i!=n-1)//當某一元素為0,並且它不是最後一個元素時,一定跳不到最後一個下標
{
return false;
}
if(i==n-1)
{
return true;
}
}
}
int main()
{
vector<int> ivec;
int num,m,n;
cin >>num;
n=num;
while(num>0)
{
cin>>m;
ivec.push_back(m);
num--;
}
if(tiao(ivec,n))
cout<<"true"<<endl;
else
cout<<"false"<<endl;
return 0;
}
這兩個程式碼 都能ac
7
2 3 0 3 2 0 0
這組測試資料的答案不一樣
- -然後還是都能a
嗯 費解會兒
相關推薦
計蒜客-跳躍遊戲二 (簡單dp)
inf PE sizeof size stream 分析 數組初始化 整數 CA 題目鏈接:https://nanti.jisuanke.com/t/20
計蒜客 跳躍遊戲
給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 請確認你是否能夠跳躍到陣列的最後一個下標。 例如: A = [2,3,1,1,4], return true. A = [3,2,1,0,
計蒜客-跳躍遊戲二
似乎是用DP但我一看就是個圖而且只有100個點想都沒想 floyd模板套上通過#include<bits/stdc++.h> using namespace std; const int maxn=108; int mp[maxn][maxn]; int main
計蒜客—跳躍遊戲二
華電北風吹 天津大學認知計算與應用重點實驗室 日期:2015/12/4 題目型別: 動態規劃,廣度優先搜尋 題目描述: 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。陣列中
計蒜客 跳躍遊戲
給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 請確認你是否能夠跳躍到陣列的最後一個下標。 例如:A = [2,3,1,1,4]A=[2,3,1,1,4] 能夠跳躍到最後一個下標,輸出true; A
計蒜客————跳躍遊戲二
30.18% 1000ms 65536K 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 你的目標是到達最後一個下標,並且使
計蒜客-跳躍遊戲二(dp)
跳躍遊戲二 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 你的目標是到達最後一個下標,並且使用最少的跳躍次數。 例如: A = [2,3,1,1,4], 到達最後一個下標的最少跳躍次數為
計蒜客 跳躍遊戲 貪心
對於當前位置可以到達的一堆點,我們肯定是選擇那個能到達最遠距離的點。 不如當前點1,能到達2,3,4. 而2能到達3,4;3能到達4;4能到達5,6,7. 那麼我們肯定是選擇從1直接到4,因為4能到達
計蒜客——乘法遊戲
乘法遊戲是在一行牌上進行的。每一張牌包括了一個正整數。在每一個移動中,玩家拿出一張牌,得分是用它的數字乘以它左邊和右邊的數,所以不允許拿第1張和最後1張牌。最後一次移動後,這裡只剩下兩張牌。 你的目標是使得分的和最小。例如,如果數是10 1 50 20 5,依次拿1、20、50,總分是1
計蒜客 —— 乘法遊戲
乘法遊戲是在一行牌上進行的。每一張牌包括了一個正整數。在每一個移動中,玩家拿出一張牌,得分是用它的數字乘以它左邊和右邊的數,所以不允許拿第1張和最後1張牌。最後一次移動後,這裡只剩下兩張牌。你的目標
計蒜客 乘法遊戲
乘法遊戲是在一行牌上進行的。每一張牌包括了一個正整數。在每一個移動中,玩家拿出一張牌,得分是用它的數字乘以它左邊和右邊的數,所以不允許拿第1張和最後1張牌。最後一次移動後,這裡只剩下兩張牌。 你的目標
計蒜客:跳躍遊戲
https://nanti.jisuanke.com/t/18 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 請確認你是否能夠跳躍到陣列的最後一個下標。 例如:A=[2,3,1,1,4]A = [2,3,1,1,4
計蒜客oj 跳躍遊戲 動態規劃 dfs
計蒜客oj 跳躍遊戲 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 請確認你是否能夠跳躍到陣列的最後一個下標。 例如: A = [2,3,1,1,4], return true. A = [3,2,1,0,4]
【計蒜客】跳躍遊戲一
題目描述 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 請確認你是否能夠跳躍到陣列的最後一個下標。 例如:A = [2,3,1,1,4]
計蒜客【跳躍遊戲二】
原文:https://www.cnblogs.com/Pinging/p/7719864.html import java.util.Arrays; import java.util.Scanner; public class Main { public static void mai
Java【計蒜客】跳躍遊戲
給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 請確認你是否能夠跳躍到陣列的最後一個下標。 例如:A=[2,3,1,1,4]A = [2,3,1,1,4]A=[2,3,1,1,4] 能夠跳躍到最後一個下標,輸出true;
計蒜客 挑戰難題 第20題:跳躍遊戲二
時間限制 1000 ms 記憶體限制 10000 K 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 你的目標是到達最後一個下標,並且使用最少的跳躍次數。 例如: A = [2,3,1,1,4], 到達最後一個下標的最少跳躍次
計蒜客_跳躍遊戲二
給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。你的目標是到達最後一個下標,並且使用最少的跳躍次數。例如:A = [2,3,1,1,4]A=[
【計蒜客系列】挑戰難題18:跳躍遊戲
給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 請確認你是否能夠跳躍到陣列的最後一個下標。 例如: A = [2,3,1,1,4], return true. A = [3,2,1,0,4], return
計蒜客題目 跳躍遊戲
給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。請確認你是否能夠跳躍到陣列的最後一個下標。例如:A = [2,3,1,1,4]A=[2,3,1,1,4] 能夠跳躍到最後一個下標,輸出true;A = [3,2,1,0