[UVA][0장] 488. - 트라이앵글 웨이브.

Triangle Wave 
In this problem you are to generate a triangular wave form according to a specified pair ofAmplitude and Frequency.

Input and Output


The input begins with a single positive integer on a line by itself indicatingthe number of the cases following, each of them as described below. This line isfollowed by a blank line, and there is also a blank line between two consecutiveinputs.
Each input set will contain two integers, each on a separate line. The first integer is the Amplitude; thesecond integer is the Frequency.
For each test case, the output must follow the description below. The outputs oftwo consecutive cases will be separated by a blank line.
For the output of your program, you will be printing wave forms each separated by a blank line.The total number of wave forms equals the Frequency, and the horizontal ``height'' of each waveequals the Amplitude. The Amplitude will never be greater than nine.
The waveform itself should be filled with integers on each line which indicate the ``height'' of thatline.
NOTE: There is a blank line after each separate waveform, excluding the last one.

Sample Input

1

3
2

Sample Output

1
22
333
22
1

1
22
333
22
1

이 문제는 간단한데 UVA에서 왜 이렇게 통과율이 낮은지 모르겠어요.
T 를 먼저 입력합니다.
T 열파가 있음을 나타냅니다.
그리고 진폭과 주파수를 읽을 때마다 (이것이 정말 주파수라면)
그리고 간단하게 처리하세요.
출력
마지막 열파의 마지막 주파수(주파수라면)의 마지막 점을 판단해야 합니다.
출력이 안 돼요.
코드는 다음과 같습니다.
#include 
#include 
#include 
#include 
#include 
#include 

using namespace std;

int T, A, F;

void init_file()
{
	freopen("White_GS_9.in", "r", stdin);
	freopen("White_GS_9.out", "w", stdout);
}

void read_data()
{
	scanf("%d
", &T); while(T--) { scanf("%d%d", &A, &F); for(int i = 1; i <= F; i++) { for(int j = 1; j <= 2 * A; j++) { for(int k = 1; k <= (j <= A ? j : (2 * A - j)); k++) { printf("%d", (j <= A ? j : (2 * A - j))); } if(T == 0 && i == F && j == 2 * A); else printf("
"); } } } } void work() { } int main() { init_file(); read_data(); work(); return 0; }

좋은 웹페이지 즐겨찾기