Study
람다식을 활용한 중첩 반복문 탈출( BOJ 20410 )
ivymso
2022. 7. 11. 22:49
참고 : https://gall.dcinside.com/mgallery/board/view/?id=ps&no=24138&exception_mode=recommend&page=1
중첩 for문 탈출시 람다 함수 활용하는 예시코드 - PS 마이너 갤러리
문제를 풀다보면 위와 같은 코드를 작성할 일이 종종 생기는데 매 for문 마다 덕지덕지 탈출 조건 달아주는것이 꽤나 지저분함 이게 3중 이상의 for문이면 아주 짜증나게 됨 이걸 goto문을 사용하
gall.dcinside.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include <stdio.h>
int M, Seed, X1, X2;
int xx1, xx2, a, b;
int main() {
scanf("%d %d %d %d", &M, &Seed, &X1, &X2);
// 람다 함수식으로 이중for문 탈출
[&]() {
for(int i=0;i<M;i++) {
for(int j=0;j<M;j++) {
xx1 = (i*Seed + j)%M;
xx2 = (i*xx1 + j)%M;
if(xx1 == X1 and xx2 == X2) {
a = i;
b = j;
return;
}
}
}
} ();
printf("%d %d", a, b);
}
|
cs |