样例过了但0分
  • 板块P1781 宇宙总统
  • 楼主Gril
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/12/25 17:34
  • 上次更新2023/10/24 06:38:56
查看原帖
样例过了但0分
622751
Gril楼主2022/12/25 17:34

为什么呀

#include<bits/stdc++.h>
using namespace std;
int n;
struct A{
    int sz,id;
    char p[102];//投票数量长度,编号,投票数量
}a[22];
int operator>(A x,A y)
{
    if(x.sz != y.sz)return x.sz > y.sz ? 1:-1;
    int sz = x.sz;
    for(int i = 0;i < sz;i++)
    {
        if(x.p[i] != y.p[i])return x.p[i] > y.p[i] ? 1:-1;
    }
    return 0;
}
//快排
void quicksort(int l,int r)
{
    if(l >= r)return;
    A x = a[(l+r)/2];
    int i = l - 1,j = r + 1;
    while(i < j)
    {
        do i++;while((a[i] > x) == 1);
        do j--;while((a[j] > x) == -1);
        if(i < j)swap(a[i],a[j]);
    }
    quicksort(l,j);
    quicksort(j+1,r);
}
//读入数据
A readA(int id)
{
    A res;
    int i;
    for(i = 0;;i++)
    {
        char c;
        c = getchar();
        if(c <= '9' && c >= '0')
            res.p[i] = c;
        else
            break;
    }
    res.p[i] = '\x00';
    res.sz = i;
    res.id = id + 1;
    return res;
}
int main()
{
    cin >> n;
    getchar();
    for(int i = 0;i < n;i++)
    {
        a[i] = readA(i);
    }
    quicksort(0,n-1);
    cout << a[0].id << '\n' << a[0].p << endl;
    return 0;
}

2022/12/25 17:34
加载中...