我最近学了快读,也了解到scanf比cin之类的要快。 就我目前代码而言,scanf比快读还快。 于是我有俩请求:
#define _CRT_SECURE_NO_WARNINGS
#include<string>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
struct stu {
int nums;
char name[11];
};
stu a[100005];
int main()
{
int n, m;
int x, y, k=0;
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i].nums);
scanf("%s", a[i].name);
}
while (m--) {
scanf("%d %d", &x, &y);
if (a[k].nums == x) {
k -= y;
if (k < 0) k += n;
}****
else if (a[k].nums != x) {
k += y;
if (k >= n) k -= n;
}
}
cout << a[k].name;
}
#define _CRT_SECURE_NO_WARNINGS
#include<string>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
struct stu {
int nums;
string name;
};
stu a[100005];
inline int read() {
int s = 0, w = 1;
char ch = getchar();
while (ch < '0' || ch>'9') {
if (ch == '-') w = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9') {
s = s * 10 + ch - '0';
ch = getchar();
}
return s * w;
}
inline string reads() {
string a;
char ch = getchar();
while (ch == ' ' || ch == '\r' || ch == '\n') {
ch = getchar();
}
while (ch != ' ' && ch != '\r' && ch != '\n') {
a += ch;
ch = getchar();
}
return a;
}
int main()
{
int n, m;
int x, y, k=0;
n = read(); m = read();
for (int i = 0; i < n; i++) {
a[i].nums = read();
a[i].name = reads();
}
while (m--) {
x = read(); y = read();
if (a[k].nums == x) {
k -= y;
if (k < 0) k += n;
}
else if (a[k].nums != x) {
k += y;
if (k >= n) k -= n;
}
}
cout << a[k].name;
}