计算化学公社

标题: 一个算法竞赛程序,编译却一堆错误 [打印本页]

作者
Author:
zyj19831206    时间: 2019-7-8 19:35
标题: 一个算法竞赛程序,编译却一堆错误
#include "stdafx.h"
#include <stdio.h>
#include <string>
#include <algorithm>
#include <iostream>
#define _for(a,b,c) for(int a=b;a<c;++a)
#define _rep(a,b,c) for(int a=b;a<=c;++a)

using namespace std;

struct ChCnt{
        int cnt;
        char c;
        void init(char ch = 'A'){
                c = ch;
                cnt = 0;
        }

        ChCnt(){ init(); }
        bool operator<(const ChCnt& cc2) const {
                return cnt > cc2.cnt || (cnt == cc2.cnt && c < cc2.c);
        }
};

int main(){
        int T = 1, m, n;
        cin >> T;
        string line;
        vector<string> seqs;
        char IDX[256] = { 0 };
        IDX['A'] = 0; IDX['C'] = 1; IDX['G'] = 2; IDX['T'] = 3;
        while (T--){
                seqs.clear();
                cin >> m >> n;
                for (int i = 0; i < m; i++){
                        cin >> line;
                        assert(line.size() == n);
                        seqs.push_back(line);
                }
                string ansStr; int ans = 0;
                vector<ChCnt> ccs(4);
                for (int i = 0; i < n; i++){
                        ccs[0].init('A');
                        ccs[1].init('C');
                        ccs[2].init('G');
                        ccs[3].init('T');
                        for (int j = 0; j < m; j++)
                                ccs[IDX[seqs[j]]].cnt++;
                        sort(ccs.begin(), ccs.end());
                        ansStr += ccs.front().c;
                        ans += (m - ccs.front().cnt);
                }

                cout << ansStr << endl << ans << endl;

        }
        return 0;
}





这段程序编译有33个错误,崩溃了。。。






欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3