#include<iostream>
using namespace std;
int main()
{
int n;
while ( cin >> n ) {
int input[n][2];
for ( int i = 0; i < n; i++ )
cin >> input[i][0] >> input[i][1];
for ( int i = 0; i < n - 1; i++ )
for ( int j = 0; j < n - 1 - i; j++ ) {
if ( input[j][0] == input[j + 1][0] ) {
if ( input[j][1] > input[j + 1][1] ) {
swap ( input[j][0], input[j + 1][0] );
swap ( input[j][1], input[j + 1][1] );
}
} else {
if ( input[j][0] > input[j + 1][0] ) {
swap ( input[j][1], input[j + 1][1] );
swap ( input[j][0], input[j + 1][0] );
}
}
}
for ( int i = 0; i < n; i++ )
cout << input[i][0] << " " << input[i][1] << endl;
}
return 0;
}
可用內建函數sort在自己寫個cmp函數比對(可用pair型態存取)即可
#include
using namespace std;
int main()
{
int n;
while ( cin >> n ) {
int input[n][2];
for ( int i = 0; i < n; i++ )
cin >> input[i][0] >> input[i][1];
for ( int i = 0; i < n - 1; i++ )
for ( int j = 0; j < n - 1 - i; j++ ) {
if ( input[j][0] == input[j + 1][0] ) {
if ( input[j][1] > input[j + 1][1] ) {
swap ( input[j][0], input[j + 1][0] );
swap ( input[j][1], input[j + 1][1] );
}
} else {
if ( input[j][0] > input[j + 1][0] ) {
swap ( input[j][1], input[j + 1][1] );
swap ( input[j][0], input[j + 1][0] );
}
}
}
for ( int i = 0; i < n; i++ )
cout << input[i][0] << " " << input[i][1] << endl;
}
return 0;
}
請注意:您正在編寫「解題報告」,請勿直接貼出完整程式碼(將被隱藏),而是請說明解題思路、所需使用的演算法...等,讓不會寫的使用者可以從中學習獲得成長。