hdu 7108 Command Sequence(哈希)

Posted jpphy0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 7108 Command Sequence(哈希)相关的知识,希望对你有一定的参考价值。

问题

hdu 7108 Command Sequence - https://acm.hdu.edu.cn/showproblem.php?pid=7108

分析

代码

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MXN = 1e5+5;
int n;
ll ans;
map<pair<int, int>, int> pos;
int main(){
	int t;
	ll x, y;
	char cmd;
	scanf("%d", &t);
	while(t--){
		ans = 0, x = 0, y = 0;
		while(!pos.empty()) pos.clear();
		pos[{0, 0}] = 1;
		scanf("%d%c", &n, &cmd);
		while(n--){			
			scanf("%c", &cmd);
			if(cmd == 'U') ++y;
			else if(cmd == 'D') --y;
			else if(cmd == 'L') ++x;
			else --x;
			if(pos.count({x, y}) == 0) pos[{x,y}] = 1;
			else ans += pos[{x,y}]++;
		}
		printf("%lld\\n", ans);
	}
    return 0;
}

以上是关于hdu 7108 Command Sequence(哈希)的主要内容,如果未能解决你的问题,请参考以下文章

HDU 5496 Beauty of Sequence

HDU 5297 Y sequence 容斥/迭代

HDU 5667:Sequence

HDU 1005 Number Sequence

HDU 1121 Complete the Sequence 差分

HDU 1005 Number Sequence 数学