暴力TLE?
  • 板块P3407 散步
  • 楼主_Give_up_
  • 当前回复16
  • 已保存回复16
  • 发布时间2022/8/30 10:54
  • 上次更新2023/10/27 13:07:16
查看原帖
暴力TLE?
516468
_Give_up_楼主2022/8/30 10:54
#include<bits/stdc++.h>
#define N 100010

using namespace std;

int read()
{
    int x = 0,f = 1;
    char c = getchar();
    while(c<'0' || c>'9')
	{
        if(c=='-') f = -1;
        c = getchar();
    }
    while(c>='0' && c<='9')
	{
        x = (x<<3)+(x<<1)+(c^48);
        c = getchar();
    }
    return x*f;
}

struct rec
{
	int p,d;
	void direction()
	{
		if (d==2) d = -1;
	}
};

bool f[N];
rec a[N];

int main()
{
	int n=read(),t=read(),q=read();
	map <int,int> mp;
	for (int i=1;i<=n;i++)
	{
		a[i].p=read();
		a[i].d=read();
		a[i].direction();
		mp[a[i].p]++;
	}
	while(t--)
	{
		for (int i=1;i<=n;i++)
			if (!f[i])
			{
				mp[a[i].p]--;
				a[i].p += a[i].d;
				mp[a[i].p]++;
			}
		for (int i=1;i<=n;i++)
			if (mp[a[i].p]>=2) f[i] = true;
	}
	while(q--)
	{
		int s=read();
		cout << a[s].p << endl;
	}
	return 0; 
}
2022/8/30 10:54
加载中...