小公尺OJ 6(交叉佇列)

2021-09-12 01:16:47 字數 795 閱讀 8920

交叉佇列

序號:#6 難度:有挑戰 時間限制:1000ms 記憶體限制:10m

描述

給出三個佇列 s1,s2,s3 ,判斷 s3 是否是由 s1 和 s2 交叉得來。 如:s1 為 aabcc , s2 為 dbbca。 當 s3 為 aadbbcbcac 時,返回 true(即將 s1 拆成三部分: aa,bc,c 分別插入 s2 對應位置) 否則返回 false。

輸入aabcc,dbbca,aadbbcbcac

輸出true

輸入樣例

aabcc,dbbca,aadbbcbcac

aabcc,dbbca,aadbbbaccc

a,b,ab

a,b,ba

a,b,ac

abc,bca,bcaabc

abc,bca,aabbcc

輸出樣例

true

false

true

true

false

true

false

#include#include#includeusing namespace std;

int main()

}cnt=0,cnt1=0;

for(i=0;i}

if(cnt==b.size())

}if(cnt1==a.size())

else

}else

}else

}else

} else

}

小公尺OJ 6 交叉佇列

將題目可以轉換成尋找一條路徑。走過s1或s2時,不能跳過或回頭,只能沿著當前字串前進或者跳到另乙個字串上一次走到的位置。利用dp i j 記錄路徑,i表示走到s1的當前位置,j表示走到s2的當前位置,dp i j 表示當前路徑是否等於與s3截止到 i j 的相等。include using name...

小公尺OJ 6 交叉佇列

思路 大概思想如下 1.動態規劃求解,構造dp 二維陣列 2.設dp i j i 為 第乙個字串的第i個字母 j 為 第二個字串的第j個字母 3.dp i j 如果為 1 表示 s1 i 等於 s3 i j 且 dp i 1 j 等於 1,同理s2 4.簡單的說 dp i j 為 1 就表示這個點可...

南陽理工oj6題

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現有一塊草坪,長為20公尺,寬為2公尺,要在橫中心線上放置半徑為ri的噴水裝置,每個噴水裝置的效果都會讓以它為中心的半徑為實數ri 0 輸入 第一行m表示有m組測試資料 每一組測試資料的第一行有乙個整數數n,n表示共有n個噴水裝...