반응형

안녕하세요, 츄르 사려고 코딩하는 집사! 코집사입니다.

2019 CNUPC 전북대학교 프로그래밍 대회 문제 - 물리 공부(C++)

 

1. 문제

전북대학교 컴퓨터공학부 신입생인 시현이는 공대 필수 교양인 기초물리를 수강중이다.

공부를 열심히 하는 시현이는 물리 문제집를 풀다가 다음과 같은 문제를 만났다.

평소 물리를 좋아하던 시현이는 ㄱ, ㄴ번은 단숨에 알았지만, ㄷ번을 풀 수 없어 절망에 빠져 있다.

절망에 빠져있는 시현이를 도와주도록 하자.

 

2. 입력

첫째 줄에 테스트케이스 T T 를 입력한다. (1T100) (1≤T≤100)

다음 줄부터 각 테스트케이스마다 A 자동차와 B 자동차의 속력 X X , Y Y , 그리고 A 자동차의 가속도 Z Z 가 주어진다. (각각의 입력은 띄어쓰기로 구분한다.)

단, 0X<Y10 000 0≤X<Y≤10 000  이고, 0<Z10 000 0<Z≤10 000 이다. 

3

20 60 2

0 100 10

0 1 10000

 

 

3. 출력

각 테스트케이스마다 A 자동차가 B 자동차와 속력이 같거나 커지는 시간(초)을 출력한다..

6

4

1

 

 

 

4. 문제 풀이

A 자동차는 20m/s로, B 자동차는 60m/s로 달리고 있을 때

A의 속도가 크기 2의 가속도에 의해 1초에 22m/s, 2초에 26m/s, 3초에 32m/s ... 로 증가 하게 되어서 A의 속도가 6초에 62m/s가 된다.

따라서 A가 B의 속도와 같거나 커지는 때는 6초로 ㄷ번은 옳지 않다.

 

 

5. 소스 코드

#include
using namespace std;
int main()
{
    int T,X,Y,Z;
    int a;
    cin >> T;
    for(int i=0;i<T;i++)
    {
        cin >> X >> Y >> Z;
        a = 1;
        while(1)
        {
            X += Z*a;

            if(X>=Y)
            {
                cout << a << endl; 
                break;
            }
            a++;
        }
    }
    return 0;
}

 

 

 

6. 결과

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기