728x90
반응형

하루 1문제 챌린지 45

백준 4195번 친구 네트워크(C++)

목록을 set에 저장해서 번호 부여해서 유니온 파인드 #include #include #include #include using namespace std; vectorparent; int find(int node){ if(parent[node]t; while(t--){ sets; cin>>n; string a,b; vectorarr; for(int i=0;i>a>>b; arr.push_back({a,b}); s.insert(a); s.insert(b); } mapnum; //번호 부여 int cnt=1; for(auto it=s.begin();it!=s.end();it++){ num[*it]=cnt;cnt++; } parent.assign(s.size()+1,-1); for(int i=0;i

백준 2529번 부등호(C++) 🚩

서로 다른 3글자라서 조합을 nCm 해야하나? 했는데 결국 순서가 정해질테고 그냥 제일 상위몇개만 하면되었다.. 어렵다 #include #include #include #include using namespace std; //숫자 배열을 문자열로 string turn(vectorarr){ string tmp=""; for(int i=0;i>n; vectorarr(n); for(int i=0;i>arr[i]; } //조합을 해야하지 않을까? 했는데 그냥 상관업나 vectormins(n+1); vectormaxs(n+1); for(int i=0;i

백준 10971번 외판원순회2 (C++) 🚩

next_permutation은 {1,2,3,4} 가 주어지면 1,2,4,3 과 같이 다음에 넘어갈 수열이 있으면 실행 prev_permutation은 {1,2,4,3}이면 {1,2,3,4} 과 같은게 있으면 실행한다. #include #include #include using namespace std; vectorarr; int cal(vectorvisited){ visited.push_back(visited[0]); //중간에 길 끊기면 경로 아님 int cnt=0; for(int i=0;i>n; vectorvisited; arr.assign(n,vector(n,0)); visited.assign(n,0); for(int i=0;iarr[i][j]; } visited[i]=i; } //1->2->3-..

백준 1080번 행렬(C++)🚩🚩

실버1인데 어려웠다.. 일단 행렬 A,B 를 n*m으로 하면 계속 입력이 잘안되었다. 접근 1.다른부분 처음에 정리 -> 하나씩 바꾸기 -> 끊임없이 바꾸기? -> 안되면 무한루프.. 체크한 다른 부분 계속 바뀌는데 계속 n*m 행렬 확인하면 비효율적.. 정답 3x3 행렬단위만 바꿀수 있으므로 n-3,m-3까지만 체크하고 (i,j)를 왼쪽 꼭지점으로 생각하면 여길 체크하면 다음부턴 체크 할 필요가 없어짐(바꿀수 없으므로). 하나하나 다바꿔보고 안되면 안되는것! #include #include using namespace std; int main() { int n,m; cin>>n>>m; vectorA(n); vectorB(n); //n*n 숫자 입력으로 하면 안됨 string tmp; for(int i=..

2019 카카오 겨울 인턴십 호텔 방 배정(C++)

몇개 시간초과 뜸 #include #include #include using namespace std; maproom; long long find(long long node){ if(room[node]==0)return node; return room[node]=find(room[node]); } long long unions(long long x){ long long xp=find(x); room[xp]=xp+1; return xp; } vector solution(long long k, vector room_number) { vector answer; for(int i=0;i map 사용의 문제였다. map하면 시간초과 뜬다. unordered_map이 더 빠르다. #include #include #..

728x90
반응형