You never believed in aliens until one day, while exploring a building rumored to have UFO sightings to win a bet with your friend. During a phone call with your friend, the signal became increasingly distorted. Suddenly, you lost consciousness. When you opened your eyes, three aliens with mechanical arms appeared before you in a strange space, with your limbs restrained.
Your friend, discovering your disappearance, uses Turbo Granny(高速婆婆)time-travel ability to reach you. To pinpoint your location, he sends signals that you need to respond to.
You will receive T signals S. You need to return the execution result of each line to your friend.
The signals will only appear in the following formats:
1. printf("<string>");
2. printf("<string>", '<char>' / <integer>, '<char>' / <integer>, ...);
3. for(int i=N; i < M; i++) printf(...);
(The printf format in the 3rd case follows the same pattern as cases 1 and 2.)
Please process your string using the Gen function and output the result.
(You can modify the Gen function as long as you ensure the output result is correct.)
#include <stdio.h>
#include <string.h>
int Gen(int init, char *str){
int mul = 37, mod = 1e9 + 7;
long long ret = init, len = strlen(str);
for (int i=0; i < len; i++){
ret *= mul;
ret += str[i];
ret %= mod;
}
return ret;
}
The first line contains an integer T, representing the number of signals.
The following T lines each contain a string Si , representing the signal to process in the i-th round.
Each signal Si is guaranteed to:
Output T lines, each containing a signal Si after being processed by the Gen function, representing the signal to process in the i-th round.
Please remember to print "\n" at the end.
You can solve this problem using the fgets
function and some functions from the string.h
library.
fgets()
. (https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/fgets-fgetws?view=msvc-170)strtok()
. (https://cplusplus.com/reference/cstring/strtok/)
If you are not sure how to use Gen, please refer to the following.
If the input is "printf(...);" , you can process it with the following code.
If the input is "for(int i=N; i < M; i++) printf(...);" , you can process it with the following code.
int ans = 0;
for(int i=N; i < M; i++){