728x90

🐣 알고리즘 삐약/✏️ 냅다 덤벼보는 문제풀이 20

[C++] UVa 10718 : Bit Mask

https://onlinejudge.org/index.php?option=onlinejudge&Itemid=8&page=show_problem&problem=1659 Online Judge Our Patreons Diamond Sponsors Steven & Felix Halim Reinardus Pradhitya Gold Sponsors --- YOUR NAME HERE ---- Silver Sponsors --- YOUR NAME HERE ---- Bronze Sponsors Christianto Handojo Krzysztof Adamek Fatima Broom Amal Augustine Contribute Bitcoin onlinejudge.org N | M 의 계산 값이 최대가 되는 L과 U 사..

[UVa 10382 ] Watering Grass

https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=113&page=show_problem&problem=1323 Online Judge Our Patreons Diamond Sponsors Steven & Felix Halim Reinardus Pradhitya Gold Sponsors --- YOUR NAME HERE ---- Silver Sponsors --- YOUR NAME HERE ---- Bronze Sponsors Christianto Handojo Krzysztof Adamek Fatima Broom Amal Augustine Contribute Bitcoin onlinejudge.org # problem ..

[C++] UVa 750 : 8 Queens Chess Problem

8x8 체스판에 퀸 8개를 서로 공격할 수 없도록 하는 모든 배치를 구한다. 각 배치는 사전식 순서대로 출력 좌표(a,b) - a번째 row, b번재 column에는 반드시 queen이 위치해야한다. #input TC개수와 퀸을 반드시 배치해야하는 좌표 # SearchSpace를 줄이는 게 관건이므로 불필요한 search를 하지 않기 위해 신경써야 한다. 64개의 칸에 가능한 8개의 을 모두 배치 == ~40억개의 경우의수 하나의 퀸이 하나의 column에만 들어갈 수 있다는 사실을 이용하기. == 8**8~1700만 개의 경우의 수 같은 row에도 두개의 퀸이 존재할 수 없다는 사실을 이용 퀸이(j,i)에 있는 경우 row[i]=j라고 할 때, Row array는 permutation이 될 수 밖에 없..

[CSES] Road_Construction | C++

https://cses.fi/problemset/task/1676/ CSES - Road Construction cses.fi #include #include using namespace std; const int N = 200001; class UFDS { private: vector p, rank, setSizes; int numSets; public: UFDS(int N) { numSets = N; rank.assign(N, 0); p.assign(N, 0); for (int i = 0; i < N; i++) p[i] = i; setSizes.assign(N, 1); } int findSet(int i) { return (p[i] == i) ? i : p[i] = findSet(p[i]); } bo..

[codeforces 1092B ] Teams Forming (JAVA | C++)

https://codeforces.com/problemset/problem/1092/B Problem - 1092B - Codeforces codeforces.com # JAVA import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.*; public class Main { public static void main(String args[]) throws IOException{ BufferedReader br = new BufferedReader(n..

[CSES] Road Reparation

https://cses.fi/problemset/task/1675/ CSES - Road Reparation cses.fi 망할 알고리즘 응용 덕분에 크루스칼 제대로 머리에 기억 남을 듯 하다. 물론 얼마나 갈지는 모르겠지만. #include #include #include using namespace std; vector Edge; class UFDS { private: vector p, rank, setSizes; int numSets; public: UFDS(int N) { numSets = N; rank.assign(N, 0); p.assign(N, 0); for (int i = 0; i < N; i++) p[i] = i; setSizes.assign(N, 1); } int findSet(int ..

[C++] UVa-11572 Unique Snowflake

구현 코드 ) #include #include #include using namespace std; #define maxn (int)(le9)+1 int t, n, x, ans, cnt, block; map lastseen; int main() { cin >> t; // 테스트 케이스 개수 입력 while (t--) { cin >> n; // 정수 리스트의 길이 입력 lastseen.clear(); //테스트 케이스가 1개 이상 입력 될 경우 map을 초기화 하여 입력을 받아온다. ans = 0, cnt = 0, block = 0; for (int i = 1; i > x; int lx = lastseen[x]; if (lx != 0) { block = max(block, lx); cnt = i - blo..

UVa / 00514 Rails [JAVA]

A에서 station으로 들어온 열차는 거꾸로 나가야 한다 == LIFO 구조의 Stack을 이용하여 해결한다! 입력은 line의 block 형태로 받아오는데 첫 줄에는 coach의 개수, 이후에는 coach의 배열을 입력한다. 입력을 완료했을 경우에는 마지막 줄에 0을 입력하여 한 블럭을 종료함을 표시한다. 실행을 완전히 종료하기 위해서는 0을 한 번 더 입력하여 종료한다. package chap2; import java.util.*; import java.io.*; public class Rails_UVa514 { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new Inp..

728x90