oj第4109 公共朋友代码

来源:互联网 发布:手机淘宝分享在哪 编辑:程序博客网 时间:2024/06/07 19:23
有更好的方法的朋友记得评论喔
#include<iostream>#include<stdio.h>#include<vector>using namespace std;typedef struct one_rel{int fp;int sp;} one_rel;typedef vector<one_rel> one_rel_v;typedef struct one_case{int pnum;int relnum;int qesnum;one_rel_v  rel_v;one_rel_v  qes_v;} one_case;typedef vector<one_case> one_case_v;int main(){int casenum=0;cin>>casenum;one_case_v csese; one_rel temp;one_case scase;while(casenum>0){scase.qes_v.clear();scase.rel_v.clear();cin>>scase.pnum>>scase.relnum>>scase.qesnum;int i=scase.relnum;while(i>0){cin>>temp.fp>>temp.sp;scase.rel_v.push_back(temp);i--;}i=scase.qesnum;while(i>0){cin>>temp.fp>>temp.sp;scase.qes_v.push_back(temp);i--;}csese.push_back(scase);casenum--;}int i=1;vector<one_case>::iterator caseiter=csese.begin();for(caseiter;caseiter!=csese.end();caseiter++){cout<<"Case "<<i<<":"<<endl;vector<one_rel>::iterator quesiter=caseiter->qes_v.begin();for(quesiter;quesiter!=caseiter->qes_v.end();quesiter++){int count=0;vector<one_rel>::iterator reliter=caseiter->rel_v.begin();for(reliter;reliter!=caseiter->rel_v.end();reliter++){int friend1;if(reliter->fp==quesiter->fp){friend1=reliter->sp;}else if(reliter->sp==quesiter->fp){friend1=reliter->fp;}else{continue;}vector<one_rel>::iterator reliter1=caseiter->rel_v.begin();for(reliter1;reliter1!=caseiter->rel_v.end();reliter1++){if((reliter1->sp==friend1&&reliter1->fp==quesiter->sp)||(reliter1->fp==friend1&&reliter1->sp==quesiter->sp)){count++;break;}}}cout<<count<<endl;}i++;}return 1;}

                                             
0 0
原创粉丝点击