丑憨批的vector笔记
生活随笔
收集整理的這篇文章主要介紹了
丑憨批的vector笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上網統計
“在線自閉,是輸出出的問題,別用cout string”
#include <iostream> #include<bits/stdc++.h> using namespace std; const int N=1e5; vector<string>v[N];///v[i][0]存用戶名 int cnt=0; int findstr(string a,int n) {for(int i=0; i<cnt&&i<n; i++){if(v[i][0]==a){return i;}}return -1; } int main() {ios::sync_with_stdio(false);int n,m;cin>>n>>m;string user,page;int flag;cnt=0;for(int i=0;i<m; i++){cin>>user>>page;flag=findstr(user,n);if(flag==-1){//v[cnt][0]=user;v[cnt].push_back(user);v[cnt].push_back(page);cnt++;}else{v[flag].push_back(page);}}///RE // for(int i=0; i<n; i++) // { // for(int j=0; j<v[i].size(); j++) // { // if(j==v[i].size()-1) // { // cout<<v[i][j]; // } // else // { // cout<<v[i][j]<<" "; // } // } // cout<<endl; // }///ACfor(int i=0; i<n; i++){for(int j=0; j<v[i].size(); j++){if(j==v[i].size()-1){printf("%s",v[i][j].c_str());}else{printf("%s ",v[i][j].c_str());}}printf("\n");}return 0; }圓桌問題
不能用隊列,會超時
2021.4.17復習,這里給vector里面賦值,這樣就能記住原來的位置,然后壞人用earse抹掉(pos=(pos+m-1)%v.size();),size是變化的
圓桌上圍坐著2n個人。其中n個人是好人,另外n個人是壞人。如果從第一個人開始數數,數到第m個人,則立即處死該人;然后從被處死的人之后開始數數,再將數到的第m個人處死……依此方法不斷處死圍坐在圓桌上的人。試問預先應如何安排這些好人與壞人的座位,能使得在處死n個人之后,圓桌上圍坐的剩余的n個人全是好人
多組數據(不超過60組),每組數據輸入兩個整數n,m(含義如題)
數據范圍:1<=n,m<=10000
對于每組數據,輸出一行,包括2n個大寫字母,‘G’表示好人,‘B’表示壞人。
Sample Input
2 3
2 4
Sample Output
GBBG
BGGB
鉆石收集者-vector
“用到了桶排,很有意思”
“可以去看jwdl的”
總結
以上是生活随笔為你收集整理的丑憨批的vector笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 丑憨批的set笔记
- 下一篇: 丑憨批的NLP笔记BERT前置:ATUO