当前位置: 首页 > news >正文

AtCoder ABC367 A-D题解

比赛链接:ABC367

额,迟到了一个月的题解。

Problem A:

水题。

#include <bits/stdc++.h>
using namespace std;
int main(){int A,B,C;cin>>A>>B>>C;for(int i=B;;i++){if(i==24)i=0;if(i==A){cout<<"NO"<<endl;return 0;}if(i==C){cout<<"YES"<<endl;return 0;}}
}

Problem B:

这么 rz 的题我居然还能 WA 两次,wssb。

#include <bits/stdc++.h>
using namespace std;
int main(){string X;cin>>X;for(int i=0;i<X.size();i++){if(X[i]!='0' && X[i]!='.')cout<<X[i];else{if(i==X.size()-1)return 0;for(int j=i+1;j<X.size();j++){if(X[j]!='0'){cout<<X[i];break;}}}}return 0;
}

Problem C:

一个简单地 dfs。

#include <bits/stdc++.h>
using namespace std;
int N,K,R[20];
vector<int> ans;
void print(){for(auto x:ans)cout<<x<<' ';cout<<endl;
}
void dfs(int pos,int sum){if(pos==N+1 && sum%K==0){print();return;}for(int i=1;i<=R[pos];i++){ans.push_back(i);dfs(pos+1,sum+i);ans.pop_back();}
}
int main(){cin>>N>>K;for(int i=1;i<=N;i++)cin>>R[i];dfs(1,0);return O;
}

Problem D:

考虑破环为链,使用一个桶来统计余数,终点每向右移动一次时,就在桶中添加它当前坐标的余数,并删除它在绕一圈前坐标的余数。将桶中与当前相同的余数数量(但要减去 1,因为本身不算)累加就得到答案。

#include <bits/stdc++.h>
using namespace std;
const int maxn=200005;
int A[maxn],buc[maxn];
int main(){int N,M;cin>>N>>M;for(int i=1;i<=N;i++)cin>>A[i];int s=0;for(int i=1;i<=N;i++){s=(s+A[i])%M;buc[s]++;}int t=s;long long ans=0;for(int i=1;i<=N;i++){s=(s+A[i])%M;buc[s]++;buc[(s-t+M)%M]--;ans+=buc[s]-1;}cout<<ans<<endl;return 0;
}


http://www.mrgr.cn/news/27056.html

相关文章:

  • 建筑机器人通用操作系统设计方案
  • xshell密钥方式连接阿里云Linux
  • PCM的缺点
  • python基础知识 (五)--容器、索引、切片、字符串的遍历、查找、修改元素
  • Redis实现发布/订阅功能(实战篇)
  • 高级java每日一道面试题-2024年9月11日-数据库篇-事务回滚的常见原因有哪些?
  • 基于 WeChatFerry 的 Python 机器人框架WeChatRobot
  • iOS中的链表 - 单向链表
  • 更换cuda版本
  • GIS可视化软件:地理信息与遥感领域中的洞察之眼
  • 云曦2024秋季开学考
  • Linux | 探索 Linux 信号机制:信号的产生和自定义捕捉
  • 拒绝千篇一律,AI帮你定制独一无二的个人写真
  • JavaScript --函数作用域变量的使用规则(局部和访问)
  • Python+Pytest框架,“conftest.py文件编写如何获取token和获取日志“?
  • 大数据热门技术
  • 算法基础-快速幂
  • 《C++模板元编程:高效实现编译期斐波那契数列计算》
  • 论文写作难?用这套ChatGPT提示词3小时完成论文初稿!
  • 大顶堆+动态规划+二分