問題C:まだフル

ハード大学の研究の3年後にタイトル説明LZY、中学校の前夜、最後にエントリーテイクアウト業界の巨人で - フルまだ?ID、評価、veganFriendly、価格を含め、まだ彼はレストランフィルタを完成期待して、彼のために困難なタスクを割り当てられたJAVAエンジニア、プロジェクトマネージャーを出芽の完全な。今レストラン情報LZYのリストを与える、各レストランの情報、距離、レストランIDを表す、レストランの評価、ベジタリアンフレンドリーなレストラン、平均価格は、距離かどうか。

:フィルタルールは次の通りです
ベジタリアンフレンドリーなフィルタveganFriendlyの値がtrueまたはfalseできる場所、それはあなたが、虚偽の手段が任意のレストランを備えることができるだけ残しveganFriendlyは、レストランの真実である含めるべきであることを意味trueの場合。加えて、我々は最高の価格と最大距離maxDistance maxPriceレストランの最高価格要因と距離要因と考えられている2つのフィルタを、持っています。

濾過レストラン情報出力後降順格付けに係る要件を満たしています。同じ定格場合は、IDを降順で並べ替え。簡単にするために、1の値がtrueであるveganFriendly、値が0である、偽です。
なる試験サンプルの複数のセットからの入力テストデータ。
各テスト入力4つの整数の行、nはレストランの数(1 <= N <= 10000 )、 ベジタリアン向けマーク(== 0または== 1)、 最大価格B(0 <= B <= 10000)、最大距離c(0 <= C <= 10000)
次のn行は、5つのレストランIDがq(1 <= Q <の整数を入力され = 10000)、 レストラン(1 <= W <= Wスコア10000)、ベジタリアンレストランフレンドリー(E == 0またはE == 1かどうか )、 平均価格のレストランのR(1 <= R <= 10000) 及びレストランから(1 <= G <= 10000 )

レストランのフィルタリングされたリストを介して出力、出力の各行レストラン情報。0 50 10サンプル入力Copy5お
1. 4. 1 40 10
2 0.8 50 5
3 30 4 8 1
4 10 3 10 0
。5 1. 1. 1 15
の出力例。3 10 0 10 COPY4
。3 30 4 8 1
2 0 8 50 5
10. 4 40. 1. 1
。5 15 1 1 1
ヒント試験サンプルデータが大きすぎる、とのprintf scanfの入力及び出力のための推奨されるので、
ソート構造
1.エラーコードを

#include<bits/stdc++.h>
using namespace std;
struct node{
 int q,w,e,r,g;
}f[11000];
bool cmp(node x,node y){
 if(x.w !=y.w ) return x.w >y.w ;
 return x.q >y.q ;
}
int main(){
 int n,a,b,c;
 int sum;
 while(cin>>n>>a>>b>>c){
  for(int i=0;i<n;i++){
   cin>>f[i].q >>f[i].w >>f[i].e >>f[i].r >>f[i].g ;
   if(f[i].e ==1){
    sum++; 
   }
  }
  sort(f,f+n,cmp);
  for(int i=0;i<n;i++){
   if(a==0){
    if(f[i].r <=b&&f[i].g <=c){
     cout<<f[i].q <<f[i].w <<f[i].e <<f[i].r <<f[i].g <<endl;
    }
   }
   else if(a==1){
    if(f[i].e ==1&&f[i].r <=b&&f[i].g <=c){
     cout<<f[i].q <<f[i].w <<f[i].e <<f[i].r <<f[i].g <<endl; 
    }
   }
  }
 }
 return 0;
}

出力フォーマットエラー
2.正しいコード

#include<bits/stdc++.h>
using namespace std;
struct node{    
int q,w,e,r,g;
}f[11000];
bool cmp(node x,node y){    
if(x.w !=y.w ) return x.w >y.w ;    
return x.q >y.q ;}
int main(){    
int n,a,b,c;    
int sum=0;    
while(cin>>n>>a>>b>>c){        
for(int i=0;i<n;i++){            
cin>>f[i].q >>f[i].w >>f[i].e >>f[i].r >>f[i].g ;            
if(f[i].e ==1){                
sum++;              
}        
}        
sort(f,f+n,cmp);        
for(int i=0;i<n;i++){            
if(a==0){                
if(f[i].r <=b&&f[i].g <=c){                    
cout<<f[i].q <<" "<<f[i].w<<" "<<f[i].e<<" "<<f[i].r <<" "<<f[i].g <<endl;                }            
}            
else if(a==1){                
if(f[i].e ==1&&f[i].r <=b&&f[i].g <=c){                    
cout<<f[i].q <<" "<<f[i].w<<" "<<f[i].e<<" "<<f[i].r <<" "<<f[i].g <<endl;                  }            
}        
}    
}    
return 0;
}
公開された12元の記事 ウォンの賞賛0 ビュー122

おすすめ

転載: blog.csdn.net/weixin_45987032/article/details/104524737
おすすめ