#문제 2606번: 바이러스 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net #접근방법 dfs를 사용하여 문제에 접근하였다. #풀이 #include #include using namespace std; vector v[105]; int virus[105]; int ans; void dfs(int x){ for(int i=0;i
#문제 2579번: 계단 오르기 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net #접근방법 동적계획법으로 접근하였다. #풀이 #include #include using namespace std; int arr[305]; int dp[305]; int main(){ int n; scanf("%d",&n); for(int i=0;i
#문제 17626번: Four Squares https://www.acmicpc.net/problem/17626 17626번: Four Squares 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 52과 12의 합이다; 또한 42 + 32 + 1 www.acmicpc.net #접근방법 동적계획법을 사용하여 접근하였다. #풀이 #include #include using namespace std; int dp[50005]; int main(){ int n; scanf("%d",&n); for(int i=1;i