QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#648498#9435. Welcome to NPCAPCLucky_LuoCompile Error//C++981.6kb2024-10-17 19:17:502024-10-17 19:17:51

Judging History

你现在查看的是最新测评结果

  • [2024-10-17 19:17:51]
  • 评测
  • [2024-10-17 19:17:50]
  • 提交

answer

#include <bits/stdc++.h>
#define fi first
#define se second
#define pb emplace_back
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int mo = 998244353;
int i, j, k, l, r, m, n, idx, ans[5007];
#define id(i, j) ((i)*7+(j))
struct mat
{
	int c[49][49], op;
	int* operator [] (const int&x) {return c[x];}
	inline mat operator * (const mat&x)
	{
		mat res;
		res.op = op; 
		for (int i=0; i<(op?1:49); i++) for (int j=0; j<49; j++) res.c[i][j] = 0;
		for (int i=0; i<(op?1:49); i++) for (int k=0; k<49; k++) for (int j=0; j<49; j++)
		{
			res.c[i][j] += 1ll * c[i][k] * x.c[k][j] % mo;
			if (res.c[i][j] >= mo) res.c[i][j] -= mo;
		}
		return res;
	}
} f[32], t;
signed main()
{
//	freopen(".in", "r", stdin);
//	freopen(".out", "w", stdout);
//	ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	f[0][id(0, 0)][id(0, 0)] = 52;
	for (j=6; j; j--) f[0][id(0, j)][id(0, j)] = 51, f[0][id(0, j-1)][id(0, j)] = 1;
	for (j=6; j; j--) f[0][id(j, 0)][id(j, 0)] = 51, f[0][id(j-1, 0)][id(j, 0)] = 1;
	for (j=6; j; j--) for (k=6; k; k--) f[0][id(j, k)][id(j, k)] = 50, f[0][id(j-1, k)][id(j, k)] = f[0][id(j, k-1)][id(j, k)] = 1;
	for (i=1; i<=30; i++) f[i] = f[i-1] * f[i-1];
	int T; scanf("%d", &T);
	vector <pair<int, int>> p;
	for (i=1; i<=T; i++) scanf("%d", &n), p.pb(n, i);
	sort(p.begin(), p.end());
	int lst = 0;
	for (t[0][0]=i=1; i<49; i++) t[0][i] = 0;
	for (auto P:p)
	{
		n = P.fi;
		for (i=30; ~i; i--) if ((n - lst) >> i & 1) t = t * f[i];
		lst = n, ans[P.se] = t[0][48];
	}
	for (i=1; i<=T; i++) printf("%d\n", ans[i]);
	return 0;
}

詳細信息

answer.code: In function ‘int main()’:
answer.code:39:30: error: ‘>>’ should be ‘> >’ within a nested template argument list
   39 |         vector <pair<int, int>> p;
      |                              ^~
      |                              > >
answer.code:4:12: error: ‘class std::vector<std::pair<int, int> >’ has no member named ‘emplace_back’
    4 | #define pb emplace_back
      |            ^~~~~~~~~~~~
answer.code:40:49: note: in expansion of macro ‘pb’
   40 |         for (i=1; i<=T; i++) scanf("%d", &n), p.pb(n, i);
      |                                                 ^~
answer.code:44:19: error: ‘P’ does not name a type
   44 |         for (auto P:p)
      |                   ^
answer.code:49:10: error: expected ‘;’ before ‘for’
   49 |         }
      |          ^
      |          ;
   50 |         for (i=1; i<=T; i++) printf("%d\n", ans[i]);
      |         ~~~
answer.code:50:9: error: expected primary-expression before ‘for’
   50 |         for (i=1; i<=T; i++) printf("%d\n", ans[i]);
      |         ^~~
answer.code:49:10: error: expected ‘;’ before ‘for’
   49 |         }
      |          ^
      |          ;
   50 |         for (i=1; i<=T; i++) printf("%d\n", ans[i]);
      |         ~~~
answer.code:50:9: error: expected primary-expression before ‘for’
   50 |         for (i=1; i<=T; i++) printf("%d\n", ans[i]);
      |         ^~~
answer.code:49:10: error: expected ‘)’ before ‘for’
   49 |         }
      |          ^
      |          )
   50 |         for (i=1; i<=T; i++) printf("%d\n", ans[i]);
      |         ~~~
answer.code:44:13: note: to match this ‘(’
   44 |         for (auto P:p)
      |             ^
answer.code:38:21: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   38 |         int T; scanf("%d", &T);
      |                ~~~~~^~~~~~~~~~