poj1007我的代码为什么会错?
上代码:
- C/C++ code
#include<iostream>#include<cstdio>#include<cstdlib>using namespace std;struct counts{ int id; int count;};int compare(const void *a, const void *b){ counts *num1, *num2; num1=(counts *)a; num2=(counts *)b; return num1->count-num2->count;}int main(){ int n, m; scanf("%d %d", &n, &m); counts *c=new counts[m]; char **seq=new char *[m]; for(int i=0; i<m; ++i){ seq[i]=new char[n+1]; } for(int i=0; i<m; ++i){ scanf("%s", seq[i]); c[i].id=i; c[i].count=0; for(int j=0; j<n; ++j){ for(int k=j+1; k<n; ++k){ if(seq[i][k]-seq[i][j]<0){ c[i].count+=seq[i][j]-seq[i][k]; } } } } qsort(c, m, sizeof(counts), compare); for(int i=0; i<m; ++i){ printf("%s\n", seq[c[i].id]); } return 0;}顺便附原题啊:http://poj.org/problem?id=1007
[解决办法]
计算count那行和题目的意思有偏差吧,我认为是+1