清華大學2002年複試上機題 第一套 解題報告

九度OJ 題目1072:有多少不同的面值組合?
時間限制:1 秒
內存限制:32 兆
特殊判題:否
提交:396
解決:151
題目描述:
    某人有8角的郵票5張,1元的郵票4張,1元8角的郵票6張,用這些郵票中的一張或若干張可以得到多少種不同的郵資?
輸入:
    題目沒有任何輸入
輸出:
    按題目的要求輸出可以得到的不同郵資的數目
//清華2002:題目1072:有多少不同的面值組合?
//某人有8角的郵票5張,1元的郵票4張,1元8角的郵票6張,用這些郵票中的一張或若干張可以得到多少種不同的郵資?
//#include <fstream>
#include <iostream>
#include <algorithm>
using namespace std;
int m[1000];

int main()
{
	int i, j, k, count=0;
	int a=8, b=10, c=18;
	int an=5, bn=4, cn=6;

	int result=0, index=0;
	for( i=0; i<=an; i++ )
		for( j=0; j<=bn; j++ )
			for( k=0; k<=cn; k++ ){
				m[index] = i*a + j*b + k*c;
				index++;
			}

	sort( m, m+index );	//差值是數組元素個數

	for( i=1; i<index; i++ )
		if( m[i]!=m[i-1] )
			count++;
	cout << count;

	system("pause");
	return 0;
}


九度OJ 題目1073:楊輝三角形
時間限制:1 秒  內存限制:32 兆  特殊判題:否  提交:319  解決:134
題目描述:
    輸入n值,使用遞歸函數,求楊輝三角形中各個位置上的值。
輸入:
    一個大於等於2的整型數n
輸出:
    題目可能有多組不同的測試數據,對於每組輸入數據,
    按題目的要求輸出相應輸入n的楊輝三角形。
樣例輸入:
    6
樣例輸出:
    1 1
    1 2 1
    1 3 3 1
    1 4 6 4 1
    1 5 10 10 5 1
//清華2002:題目1073:楊輝三角形
//輸入n值,使用遞歸函數,求楊輝三角形中各個位置上的值。
#include <iostream>
using namespace std;
int f[1000][1000];

void init(){
	int i, j;
	f[2][1]=f[2][2]=1;
	for( i=3; i<1000; i++ ){
		f[i][1]=f[i][i]=1;
		f[i][2]=f[i][i-1]=i-1;
		for( j=3; j<=i-2; j++ )
			f[i][j] = f[i-1][j-1] + f[i-1][j];
	}
}

int main()
{
	int i, j, k, n, m;
	init();
	while( cin >> n ){
		for( i=2; i<=n; i++ ){
			for( j=1; j<=i-1; j++ )
				cout << f[i][j] << " ";
			cout << f[i][i] << endl;
		}
	}
	system("pause");
	return 0;
}

發佈了43 篇原創文章 · 獲贊 4 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章