1 条题解

  • 0
    @ 2026-3-15 15:55:46

    写出程序计算所有 (n+1)(m+1)(n + 1)(m + 1) 种状态是必胜态还是必败态。列出表格,观察图形性质,可得:

    n mod 3=n \bmod 3 = m mod 6=m \bmod 6 = 答案
    00 00 Sleeping Alligator
    11 Sleeping Iguana
    22
    33 Sleeping Alligator
    44
    55
    11 00 Sleeping Iguana
    11 Sleeping Alligator
    22 Sleeping Iguana
    33 Sleeping Alligator
    44 Sleeping Iguana
    55
    22 00 Sleeping Alligator
    11 Sleeping Iguana
    22 Sleeping Alligator
    33 Sleeping Iguana
    44
    55
    #include <bits/stdc++.h>
    using namespace std;
    const string names[2] =
    {
    	"Sleeping Iguana",
    	"Sleeping Alligator"
    };
    const int results[3][6] =
    {
    	{1, 0, 0, 1, 1, 1},
    	{0, 1, 0, 1, 0, 0},
    	{1, 0, 1, 0, 0, 0}
    };
    int main()
    {
    	freopen("savings.in", "r", stdin);
    	freopen("savings.out", "w", stdout);
    	int T, n, m;
    	cin >> T;
    	while (cin >> n >> m) cout << names[results[n % 3][m % 6]] << endl;
    	return 0;
    }
    
    • 1

    信息

    ID
    232
    时间
    1000ms
    内存
    512MiB
    难度
    6
    标签
    递交数
    58
    已通过
    8
    上传者