#9553: 請問題意及為何RE


z3x56 (二信阿資)

學校 : 基隆市私立二信高級中學
編號 : 41061
來源 : [61.231.128.29]
最後登入時間 :
2020-08-22 18:35:15
d750. 11321 - Sort! Sort!! and Sort!!! -- UVa11321 | From: [49.159.137.154] | 發表日期 : 2014-12-21 20:19

請問20筆的意思是不是一定要讀20筆?
求救,我讀20筆及 讀 cin>>n>>m至檔尾皆  RE?

#include <iostream>
#include <algorithm>
using namespace std;
int a[10005];
int m;
bool cmp(int a, int b)
{
int ad=a%2, bd=b%2;  //是否奇數
int am=a%m , bm=b%m;
if( am != bm ) return ( am < bm );  //餘數小的在前
if( ad != bd ) return ( ad > bd ); //餘數同則 奇數在前
if( ad ) return ( a>b );  // 奇數大的在前
return ( a<b );                  // 偶數小的在前
}

int main()
{
  int n,i,zero; 
  int t=20;
while(  t-- )

{

  cin >> n >> m;
  for(i=0; i<n; ++i) cin >> a[i];
  cin >> zero >> zero;

  sort(a,a+n, cmp);

  cout << n <<" " << m << endl;
  for(i=0; i<n; ++i) cout << a[i] << endl;
  cout << "0 0" << endl;

我的程式,單筆測試可過,但改成多筆就RE

 
#9554: Re:請問題意及為何RE


z3x56 (二信阿資)

學校 : 基隆市私立二信高級中學
編號 : 41061
來源 : [61.231.128.29]
最後登入時間 :
2020-08-22 18:35:15
d750. 11321 - Sort! Sort!! and Sort!!! -- UVa11321 | From: [49.159.137.154] | 發表日期 : 2014-12-21 20:34

 我找到問題了,{題目中有說每組輸出 n+1行,是我自己沒看清楚!}
每題測資以 0 0結束,但每筆測資有多組 n m
所以 將while(t--)改為
while( cin >>n >>m)
{
    if(n==0 && m==0) break;

   …

  並將 cin >> zero >> zero 該行刪掉 

 

}

cout << "0 0" << endl; 

 




 
ZeroJudge Forum