[백준/c++] 24228번: 젓가락

somyeong·2022년 3월 24일
0

코테 스터디

목록 보기
2/52

문제 링크 - https://www.acmicpc.net/problem/24228

[문제]

[풀이]

  • 먼저 입력 조건에 1<=N,R<=10^18 이므로 범위를 주의해야 한다.
  • N: 젓가락 종류, R: 맞춰야 하는 짝의 갯수
  • 최악의 경우는 종류별로 1개씩은 뽑은 다음에 그중 임의의 R쌍만큼 짝을 맞추면 된다.
  • 나는 간단하게 생각하기 위해 한종류로 R쌍을 맞춘다고 생각하고, 나머지 종류들이 각각 1개씩 있는 경우를 생각하며 나타냈다. (여러종류가 2쌍 만족하고, 그외 나머지 종류가 1개씩 있는 경우도 답은 같음)
    -> result= r*2+(n-1) 과 같다.

<c++ 데이터 형식 범위>

유형이름바이트범위
(signed)int4-2,147,483,648 ~ 2,147,483,647
unsigned int40 ~ 4,294,967,295
char1-128~127
unsigned char10~255
short,(signed)shor int2-32,768 ~ 32,767
(signed)long long8-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
unsigned long long80 ~ 18,446,744,073,709,551,615
bool1true or false
float43.4E+/-38(7개의 자릿수)
double88 1.7E+/-308(15개의 자릿수)

[코드]

//24228번: 젓가락
#include <iostream>
using namespace std;

long long func(long long n,long long r){
    // if(n==1)
    // return 2*r; //n=1일경우 별도의 처리를 해야될줄 알았는데 안해도 된다.

    long long result=0;
    result = r*2+(n-1);
    return result;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
     long long n,r;
    cin>>n>>r;
    cout<<func(n,r)<<"\n";
}
profile
공부한 내용 잊어버리지 않게 기록하는 공간!

0개의 댓글