반응형

문제 출처 :


https://www.acmicpc.net/problem/1560



알고리즘 분석 :


문제 해결에 필요한 사항

1. 규칙 찾기


그림을 그려보면 간단하다.


예외만 처리해주면 되는데


n이 1일때는 1

n이 2일때는 2


그 외 수에서는 n + n  - 2가 정답이다.


이때 n이 70자리 이하 자연수이니 그 처리만 각 언어에서 조심히 하면 될 것 같다.(java의 경우 BigInteger를 쓰면 된다.) 







소스 코드 : 


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
import java.math.BigInteger;
import java.util.Scanner;
 
public class Main {
         
    public static void main(String[] args)
    {
                BigInteger c = new BigInteger("0");
         
                Scanner sc = new Scanner(System.in);
                
                c = sc.nextBigInteger();
                
                if(c.compareTo(BigInteger.ONE) == 0)
                    System.out.println(1);
                
                else if(c.compareTo(BigInteger.valueOf(2)) == 0)
                    System.out.println(2);
                
                else
                     System.out.println(c.add(c.subtract(BigInteger.valueOf(2))));
    }
    
}
 
//                                                       This source code Copyright belongs to Crocus
//                                                        If you want to see more? click here >>
Crocus


반응형

'Applied > 알고리즘 문제풀이' 카테고리의 다른 글

[2740번] 행렬 곱셈  (0) 2017.04.17
[14492번] 부울행렬의 부울곱  (0) 2017.04.17
[2570번] 비숍2  (0) 2017.04.16
[1799번] 비숍  (7) 2017.04.15
[9525번] 룩 배치하기  (0) 2017.04.15