SDNUOJ 1614.阿哲的幻想國(練習vector的用法)
Time Limit: 1000 MS Memory Limit: 32768 KB
Description
在阿哲的幻想國,每個人都可以把東西送給別人
給出每個人的物品,每個人都可以
- x y, 代表x將將自己物品序列末尾的物品給y 如果x沒有東西,什麼都不會發生
請你幫阿哲輸出最終幻想國的人民的物品序列
Input
第一行一個n, 代表n個居民, 下面n行給出n個數字序列,第i個序列第一個數字k代表物品序列長度,接著是第i個居民的物品序列
然後一個q,接下來q行代表操作
1 <= n <= 100000, 1 <= q <= 100000, 物品總數保證不會超過100000, 且最初每個居民都擁有物品
Output
輸出最終每個居民的物品序列
Sample Input
5
3 1 2 3
3 4 5 5
3 6 4 2
1 1
1 5
3
1 5
2 1
2 4
Sample Output
1 2 5
4
6 4 2
1 5
5 3
比較簡單的模擬題,思路也比較清晰,由於在結構體中宣告一個很大的陣列會MLE,所以要用vector實現相應操作,還有一點要注意,如果一個人沒有物品,應當輸出回車,下面是ac程式碼:
#include<iostream>
#include<vector>
using namespace std;
struct pero{
int k;
//int things[80];
vector<int> things; //定義動態陣列(向量)
};
pero dat[100005];
int main()
{
int n,p,a,b;
cin>>n;
for(int i=1;i<=n;++i)
{
cin>>dat[i].k;
for(int j=1;j<=dat[i].k;++j)
{
cin>>a;
dat[i].things.push_back(a); //往向量裡塞資料
}
}
cin>>p;
for(int i=0;i<p;++i)
{
cin>>a>>b;
if(dat[a].k!=0) //如果k為零則什麼也不做
{
//dat[b].things[++dat[b].k]=dat[a].things[dat[a].k--];
dat[b].things.push_back(dat[a].things[dat[a].k-1]); //把a的尾值給b,然後a的長度減一,b的長度加1
dat[a].things.pop_back(); //彈出a給b的值
dat[b].k++;
dat[a].k--;
}
}
for(int i=1;i<=n;++i)
{
if(dat[i].k==0) cout<<"\n"; //如果沒有資料則輸出回車
else
for(int j=0;j<dat[i].k;++j) //順序輸出資料
{
cout<<dat[i].things[j];
if(j==dat[i].k-1) cout<<"\n";
else cout<<" ";
}
}
return 0;
}
相關文章
- vector的基本用法
- STL:vector用法總結
- c++ vector用法詳解C++
- C++【vector】用法和例子C++
- C++STL第二篇(vector的原理用法)C++
- 賦值運算子和+號的用法(兩個練習)賦值
- 練習的力量
- Array的練習
- 72歲法國機率論大佬獲阿貝爾獎,陶哲軒:他的知名度理應更高
- c++ 中vector 常見用法(給初學者)C++
- java複習之 Vector、ArrayList和LinkedList 的區別Java
- 偽類的練習
- Android中的VectorAndroid
- Java16的Vector API更好支援機器學習JavaAPI機器學習
- 學習SVM(四) 理解SVM中的支援向量(Support Vector)
- swoole 的練習 demo(1)
- swoole 的練習 demo(2)
- 練習-jq的遍歷
- 練習的html,加油ing。HTML
- 五、python的練習題Python
- C++STL之Vector向量詳解,用法和例子 一起學習 一起加油C++
- vector的使用注意點
- C++的vector容器C++
- row_vector and col_vector的建立 (Leetcode 807, Leetcode 531)LeetCode
- 《生活的哲學》
- markdown 使用練習練習
- 埃森哲:加速智慧科技時代的技能學習
- (前++) 和 (後++)的練習題
- 方法的三個練習題
- 練習最原始的JDBC的基本操作JDBC
- python力扣刷題記錄——1614. 括號的最大巢狀深度Python力扣巢狀
- C++ 容器vector的使用C++
- 北大袁萌:院士的幻想與國產作業系統泡沫作業系統
- 基於AI的英語學習應用WordUp推出"幻想聊天"功能AI
- 丁磊的“阿甘哲學”
- 練習時的docker部署指令碼Docker指令碼
- nginx的location 規則匹配練習Nginx
- 機器學習的訓練集機器學習