POJ 1007解題レポート


タイトル:
1つの文字列にはその特徴値があり、特徴値の小さい文字列を前に置きます.
難点:複数の文字列を格納し、フィーチャー値を格納する方法
解決策は構造体を利用することです
ソースコードと関連解釈を添付します.
#include <iostream>
#include <string>
using namespace std;
struct DNA{ 
    string s;     //s 
    int value;    //value 
};

int main(){
    DNA dna[100];
    int n,line,i,k,t;
    cin>>n>>line;
    for(i=0;i<line;i++){       // for 
        dna[i].value=0;
        cin>>dna[i].s;
        for(k=0;k<n-1;k++){
            for(t=k+1;t<n;t++){
                if(dna[i].s[k]>dna[i].s[t]) dna[i].value++;
            }
        }
    }
    for(i=0;i<line;i++){   // 
        for(k=i+1;k<line;k++){
            if(dna[i].value>dna[k].value){
                DNA temp;   // 
                temp = dna[i];
                dna[i] = dna[k];
                dna[k] = temp;
            }
        }
        cout<<dna[i].s<<endl;
    }
    return 0;
}