codeforcs 1068 C Colored Rooks---構造
阿新 • • 發佈:2018-12-03
題目連結
題意給你n個顏色 m個關係 顏色和顏色有關係就是他們在一行或者在一列 可以相鄰
沒關係就不能在一行 不能在一列 不能相鄰
學了兩個騷操作,一個是auto代替型別,另一個是增強for遍歷
我覺得沒有必要開pair
有關係的放一列,最後掃一遍把沒關係的放後面
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e5+7; vector<int> vec[maxn]; int n,m,u,v; int main(){ cin>>n>>m; for(int i=1;i<=m;i++){ cin>>u>>v; vec[u].push_back(i); vec[v].push_back(i); } m++; for(int i=1;i<=n;i++){ if(vec[i].empty()){ vec[i].push_back(m++); } } for(int i=1;i<=n;i++){ cout<<vec[i].size()<<endl; for(auto j:vec[i]) cout<<i<<" "<<j<<endl; } return 0; }