"听取“WA”声一片"5. 函数一连串

5. 函数一连串

题目ID:7068必做题100分

最新提交:

Wrong Answer

70 分

历史最高:

Wrong Answer

70 分

时间限制: 1000ms

空间限制: 256000kB

题目描述

时间限制:1s 空间限制:250M

题目描述:

现有两个函数 FF 和 GG ,定义如下:

void F(int &x) {
    x ^= x & (x << 3);
    x ^= x & (x >> 2);
    x %= 65536;
}

void G(int &x) {
    x ^= x & (x << 2);
    x ^= x & (x >> 3);
    x %= 65536;
}

现在给出一仅包含 FG 的字符串 ss 以及一个正整数 xx ,请输出按照字符串从左到右的顺序对 xx 调用相应函数的最终结果。

例如,若字符串为 FFGF ,则需要依次执行:

F(x);
F(x);
G(x);
F(x);

并输出最终结果。

输入格式:

第一行包含一个字符串 ss 以及一个正整数 xx 。(1≤∣s∣≤105)(1≤∣s∣≤105),(1≤x≤65535)(1≤x≤65535)

输出格式:

输出共一行,仅包含一个非负整数,表示答案。

样例输入:

FFGF 13

样例输出:

4

我这个怎么错了?好心人帮我看一看吧!!!

#include<bits/stdc++.h>
using namespace std;
#define long long int
void F(int &x) {
    x ^= x & (x << 3);
    x %= 65536;
    x ^= x & (x >> 2);
    x %= 65536;
}
void G(int &x) {
    x ^= x & (x << 2);
    x %= 65536;
    x ^= x & (x >> 3);
    x %= 65536;
}
int main() {
	string s;
	cin>>s;
	int x, l=s.size();
	cin >> x;
	for(int i=0;i<l;i++) if(s[i]=='F') F[x]; else G(x);
	cout<<x;
	return 0;
}

送你一个 :sparkling_heart:吧!!!

1 个赞

(帖子已被作者删除)

已知晓