[問題] ITSA第24次第4題

作者: ga544523 (美麗新世界)   2014-05-03 19:07:27
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
c++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
iostream
問題(Question):
http://truth.bahamut.com.tw/s01/201405/2827e54fa6e7853d0a80ffab1381d289.JPG
錯誤結果(Wrong Output):
http://truth.bahamut.com.tw/s01/201405/08372dfa3afb99c7500459ef7f41b9e9.JPG
程式碼(Code):(請善用置底文網頁, 記得排版)
#include<iostream>
using namespace std;
int main(){
char (*a)[50] = new char[100000][50];
char (*tmp)[50] = new char[100000][50];
long long (*b)= new long long[100000];
long long (*c)= new long long[100000];
long long d;
cin>>d;
for(int i=0;i<d;i++){
cin>>a[i];
cin>>b[i];
cin>>c[i];
}
for(int j=0;j<d-1;j++){
for(int i=0;i<d;i++){
if(b[i]<b[i+1]){
strcpy(tmp[i],a[i]);
strcpy(a[i],a[i+1]);
strcpy(a[i+1],tmp[i]);
swap(b[i],b[i+1]);
swap(c[i],c[i+1]);
}
if(b[i]==b[i+1]&&c[i]<c[i+1]){
strcpy(tmp[i],a[i]);
strcpy(a[i],a[i+1]);
strcpy(a[i+1],tmp[i]);
swap(b[i],b[i+1]);
swap(c[i],c[i+1]);}}}
for(int i=0;i<d;i++){
cout<<a[i]<<" ";}
delete [] a;
delete [] tmp;
delete [] b;
delete [] c;
return 0;}
補充說明(Supplement):
這是我的執行畫面
http://truth.bahamut.com.tw/s01/201405/5baabcea5be42fd24b659947cde82090.JPG
是我搞錯題目意思還是哪裡打錯了嗎
測試沒問題阿(應該巴.)
傳上去卻一直說錯誤
ptt好難用喔
作者: CaptainH (Cannon)   2014-05-03 19:10:00
1. 以空白隔開意味著最後一個人之後不應有空白2. 最後必須有換行字元 '\n'
作者: ga544523 (美麗新世界)   2014-05-03 20:06:00
還是錯誤哈哈
作者: kkkmode (kkk)   2014-05-03 22:47:00
我覺得解法不夠漂亮,寫一個sort函式,然後先對人氣排序再對薪資排序即可,不必比較薪資是否相等
作者: ga544523 (美麗新世界)   2014-05-03 23:56:00
可是應該不影響結果巴,但我傳上去他都說我錯誤答案,!@$@!

Links booklink

Contact Us: admin [ a t ] ucptt.com