您的位置:首页 > 其它

2019牛客寒假算法基础集训5

2019-02-03 23:50 239 查看

题解

A-炫酷双截棍

D-炫酷路途

G-炫酷数字

I-炫酷镜子

直接模拟即可,或者使用并查集或者记忆化搜索也可直接模拟即可,或者使用并查集或者记忆化搜索也可直接模拟即可,或者使用并查集或者记忆化搜索也可

#include <cstdio>const int MAX_N = 505;int n, m;// 0 下 1 上 2 左 3 右char map[MAX_N][MAX_N];int solve(int col){int t = 0, flag = 0;while (t >= 0 && t < n && col >=0 && col < m) {if(map[t][col] == '\\') {if(flag == 0) flag = 3;else if(flag == 1) flag = 2;else if(flag == 2) flag = 1;else if(flag == 3) flag = 0;}else if(map[t][col] == '/') {if(flag == 0) flag = 2;else if(flag == 1) flag = 3;else if(flag == 2) flag = 0;else if(flag == 3) flag = 1;}switch(flag) {case 0: t++; break;case 1: t--; break;case 2: col--; break;case 3: col++; break;}//printf("%d\n", flag);}if(t >= n) return col + 1;else return -1;}int main(){scanf("%d%d", &n, &m);for(int i = 0; i < n; ++i)scanf("%s", map[i]);for(int k = 0; k < m; ++k){printf("%d\n", solve(k));}return 0;}

J-炫酷数学

考虑每一位,只有在(0,0)(0,1)(1,0)的三种情况时满足条件。根据乘法原理,答案即为3M考虑每一位,只有在(0,0)(0,1)(1,0)的三种情况时满足条件。根据乘法原理,答案即为3^M考虑每一位,只有在(0,0)(0,1)(1,0)的三种情况时满足条件。根据乘法原理,答案即为3M

#include <cstdio>#define ll long long#define mod 998244353ll m;ll qmod(ll x, ll n){ll ans = 1;for (; n; n >>= 1, x = x * x % mod)if (n & 1) ans = ans * x % mod;return ans;}int main(){scanf("%lld", &m);printf("%lld\n", qmod(3, m));return 0;}

或python高精度或python高精度或python高精度

print(pow(3, int(input()), 998244353))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: