怎么在百度上建立网站,网站建设需要的人员,网站权限查询,做新房网站怎么弄本期封面原图 画师えびら
A - Shout Everyday
题意
b点睡觉c点起床#xff0c;问你a点是不是醒着的
思路
直接判断即可#xff0c;注意处理跨天的情况
代码
#include bits/stdc.h
#define mod 998244353
using namespace std;
typedef long long ll;
typedef …本期封面原图 画师えびら
A - Shout Everyday
题意
b点睡觉c点起床问你a点是不是醒着的
思路
直接判断即可注意处理跨天的情况
代码
#include bits/stdc.h
#define mod 998244353
using namespace std;
typedef long long ll;
typedef double db;
typedef pairint,int pii;
typedef pairll,ll pll;int main()
{int a,b,c;cin a b c;if(bc){if(ab or ac)cout No;elsecout Yes;return 0;}if(ba ac)cout No;elsecout Yes;return 0;
}B - Cut .0
题意
给你一个数去掉他的无效0也就是小数点右边末尾的和小数点左边最前面的
思路
直接模拟即可
代码
#include bits/stdc.h
#define mod 998244353
using namespace std;
typedef long long ll;
typedef double db;
typedef pairint,int pii;
typedef pairll,ll pll;int main()
{string s;cin s;//给一个数字去掉无效0int ns.length();string ans;int flag0;int i;for (i0;in;i){if(s[i].)break;if(flag0 and s[i]0)continue;else{flag1;anss[i];}}ans.;int j;for(jn-1;ji;j--){if(s[j]0)continue;elsebreak;}for(int ki1;kj;k)anss[k];if(ans[0].)ans0ans;if(ans[ans.length()-1].)ansans.substr(0,ans.length()-1);cout ans endl;return 0;
}C - Enumerate Sequences
题意
按升序排列打印所有满足以下条件的长度为 N N N 的整数序列。
第 i i i 个元素介于 1 1 1 和 R i R_i Ri 之间包括首尾两个元素。所有元素之和是 K K K 的倍数。
思路
数据范围很小所以直接dfs遍历即可
代码
#include bits/stdc.h
#define mod 998244353
using namespace std;
typedef long long ll;
typedef double db;
typedef pairint,int pii;
typedef pairll,ll pll;
int n,k;
int r[10];
vectorint ans(10);
void dfs(int dpt,int sum)
{if(dptn){if(sum%k0){for (int i0;in;i) cout ans[i] ;cout endl;}return ;}for(int i1;ir[dpt];i){ans[dpt]i;dfs(dpt1,sumi);}
}int main()
{cin n k;for (int i0;in;i) cin r[i];dfs(0,0);return 0;
}D - Pedometer
题意
一个湖周围有 N N N 个休息区。 休息区按顺时针顺序编号为 1 1 1 、 2 2 2 、…、 N N N 。 从休息区 i i i 顺时针走到休息区 i 1 i1 i1 需要 A i A_i Ai 步其中休息区 N 1 N1 N1 指的是休息区 1 1 1 。 从休息区 s s s 顺时针走到休息区 t t t s ≠ t s \neq t st 所需的最小步数是 M M M 的倍数。 求 ( s , t ) (s,t) (s,t) 的可能对数。
思路
我们可以直接前缀和然后对前缀和每一个位置取模模相等的那就说明从前面那个点走到右边那个点算是一对合法对。 然后考虑转了好几圈的情况我们把这个湖拉直然后继续往后加也就是到1之后我还继续走下一轮无限地往后计算前缀和 那么现在问题是什么时候结束呢自然就是某一个点1的前缀和取模后刚好为0这样就算是完成了一整次循环最后计算即可
代码
#include bits/stdc.h
#define mod 998244353
using namespace std;
typedef long long ll;
typedef double db;
typedef pairint,int pii;
typedef pairll,ll pll;
const int N4e55;
const int M1e65;
ll n,m;
ll a[N];
ll pre[N];
ll cnt[M];
ll ans;int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin n m;for (int i 1; i n; i) cin a[i];for (int i 1; i n; i) {a[in] a[i];}for (int i1; i 2*n; i) {pre[i] pre[i-1]a[i];}for (int i 1; i 2*n; i) {if (i n) {ans cnt[pre[i]%m];cnt[pre[i]%m];} else {cnt[pre[i-n]%m]--;ans cnt[pre[i]%m];}}cout ans;return 0;
}