문제를 읽어보면 그냥 BFS+시뮬레이션으로 풀면 될거같다 심지어 크기도 작다!! 악마->수연 이 순서대로 보내면 수연이가 갈 수 있는곳의 최단거리를 BFS로 구할 수 있다! 큐를 2개만들고 악마큐를 먼저 실행시키고, 수연이큐를 실행시키자 악마가 다음칸으로 갈 수 있는 조건은 .이거나 S이거나이고 수연이가 갈수있는 조건은 .이거나 D이다! 악마가 방문할때마다 *로 바꿔주고 수연이가 방문할때마다 S로 바꿔주면 답이 착하게 나온다!! 소스코드 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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 5..
풀려고 생각하다가 끝난 문제였다 한시간이 넘도록 생각해도 못풀었다 ㅎㅎ 수학적 머리가 없는건가 우선 f,g 계수들의 gcd가 1이기 때문에 어딘가 p로 안나눠떨어지는 수가 하나씩은 나온다! f에서 그위치를 i / g에서는 j라고 해보자 f*g=h일때 h의 계수를 생각해보면 h^(i+j)의 계수는 f와g의 index합이 i+j인것들의 합이다 이 때 fi*gj도 포함되는데 이 수는 각각 p로 안나눠지므로 두 수의곱도 당연히 안나눠진다! 그래서 답은 그냥 안나눠지는 위치 두개를 찾아서 더하면 된다 수학적으로 증명해서 알려주면 참 쉬워보이는데 시간안에 어케해야할까 이걸..!! 수학은 어렵다..! 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include using nam..