[算法导论] 卡牌II

[算法导论] 卡牌II[算法导论] 卡牌IIhttps://www.jb51.net/article/87237.htm

memset

memset 是重置

memcopy(b,a,n*sizeof(int))

a拷贝到b

[算法导论] 卡牌II

#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
int main(){
    int i=1;int n,q,t;
    while(cin>>n>>q){  //卡牌张数,问题数
        int card[n];
        for(int k=0;k<n;k++){
            cin>>card[k];
        }
        int cards[n];
        memcpy(cards, card, n*sizeof(int)); //card赋值给cards
        cout<<"Case #"<<i<<":"<<endl;
        sort(cards,cards+n);
        while(q--){
            cin>>t;
            int ix1=-1,ix2=-1;
            for(int m=0;m<n;m++){ //ix1
                if(card[m]==t){ ix1=m+1;break;}
            }
            for(int m=0;m<n;m++){ //ix2
                if(cards[m]==t){ ix2=m+1;break;}
            }
            if(ix1!=-1){
                cout<<t<<" from "<<ix1<<" to "<<ix2<<endl;
            }else{
                cout<<t<<" not found"<<endl;
            }
        }

        i++;
    }

}

上一篇:题解 P2417 【课程】


下一篇:区间dp