95分,#9 WA了 求大佬帮忙
查看原帖
95分,#9 WA了 求大佬帮忙
1764326
Fufuzjiushijie楼主2025/6/30 22:57
#include <iostream>
#include <vector>
using namespace std;

class Person
{
public:
    int _face;
    string _name;
    Person(int face = 0, string name = "") : _face(face), _name(name) {}
    friend istream &operator>>(istream &in, Person &p)
    {
        return in >> p._face >> p._name;
    }
};
class Command
{
public:
    int _direction;
    long long _num;
    Command(int d = 0, long long n = 0) : _direction(d), _num(n) {}
    friend istream &operator>>(istream &in, Command &c)
    {
        return in >> c._direction >> c._num;
    }
};

class Circle
{
public:
    vector<Person> _members;
    long long _num;
    Circle(vector<Person> m, long long n = 0) : _members(m), _num(n) {}
    Person &operator[](int i)
    {
        long long index = (i % _num + _num) % _num;
        return _members[index];
    }
};
int main()
{
    long long n, m;
    cin >> n >> m;
    vector<Person> circle(n);
    for (long long i = 0; i < n; i++)
    {
        cin >> circle[i];
    }
    Circle cir(circle, n);
    vector<Command> com(m);
    for (long long i = 0; i < m; i++)
    {
        cin >> com[i];
    }
    long double now = 0;
    for (Command &c : com)
    {
        if (c._direction != cir[now]._face)
        {
            now += c._num;
        }
        else
        {
            now -= c._num;
        }
    }
    cout << cir[now]._name;
}
2025/6/30 22:57
加载中...