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

牛客周赛 Round 92

目录

A-小红的签到题

代码

B-小红的模拟

代码

C-小红的方神题

代码

D-小红的数学题

代码

无注释版

有注释版 

E-小红的ds题

代码

无注释版

有注释版


A-小红的签到题

代码

#include<bits/stdc++.h>
using namespace std;
int main(){int n;cin>>n;char ch='a';for(int i=0;i<n;i++){if(i==1) cout<<"_";else cout<<ch; }
} 

B-小红的模拟

代码

#include<bits/stdc++.h>
using namespace std;
char a[1010][1010];
int main(){int n,m;cin>>n>>m;int x=0,y=0;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>a[i][j];if(a[i][j]=='#'){x=i,y=j;}}}if(x<n&&y>1){for(int i=1;i<n;i++){cout<<"S";}for(int i=1;i<m;i++){cout<<"D";}}else{for(int i=1;i<m;i++){cout<<"D";}for(int i=1;i<n;i++){cout<<"S";}}
}

C-小红的方神题

代码

#include<bits/stdc++.h>
using namespace std;
int main(){int n;cin>>n;if(n==1||n==2){cout<<"-1";return 0;}cout<<1<<" "<<n<<" ";for(int i=n-1;i>=2;i--){cout<<i<<" ";}
}

D-小红的数学题

代码

无注释版
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){int k;cin>>k;k=k+1;for(int i=2;i*i<=k;i++){if(k%i==0){int a=i-1,b=k/i-1;int p=a+b;int q=a*b;cout<<p<<" "<<q<<"\n";return 0;}}cout<<-1;
} 
有注释版 
#include<bits/stdc++.h> // 引入所有标准库头文件,方便使用如cin、cout、sqrt等
using namespace std;#define int long long // 将int替换为long long,防止整数溢出,支持较大数字如1e12signed main() { // 主函数,使用signed是为了与#define int long long兼容int k;cin >> k;        // 输入正整数kk = k + 1;       // 将k加1,方便后续分解因数。解释见下。// 枚举从2到sqrt(k)的每个整数,寻找k的因数for (int i = 2; i * i <= k; i++) {if (k % i == 0) { // 如果i是k的因数// 设i = a + 1,则a = i - 1// k / i = b + 1,则b = k / i - 1int a = i - 1, b = k / i - 1;// 构造p = a + b,q = a * b// 对应二次方程:x^2 - p*x + q = 0int p = a + b;int q = a * b;// 输出满足条件的一组p和qcout << p << " " << q << "\n";return 0; // 输出后直接结束程序}}// 如果没有找到任何满足条件的(a, b),输出-1cout << -1;
}

E-小红的ds题

代码

无注释版
#include<bits/stdc++.h>
using namespace std;
#define int long long
int a[1000010],b[1000010];
int l[1000010],r[1000010];
signed main(){int n;cin>>n;int s=0;for(int i=1;i<=n;i++){cin>>a[i];b[i]=b[i-1]+a[i];s+=a[i];}cout<<1<<"\n";int node=2;int f=0;int fu=1;for(int i=2;i<=n;i++){int x=a[i];int cnt=0;while(x--){if(f==0){l[fu]=node;f=1;cnt++;}else{r[fu]=node;f=0;cnt++;}if(cnt==2){fu++;cnt=0;}node++;}fu=b[i-1]+1;}for(int i=1;i<=s;i++){if(l[i]==0) l[i]=-1;if(r[i]==0) r[i]=-1;cout<<l[i]<<" "<<r[i]<<"\n";}
}
有注释版
#include<bits/stdc++.h>  // 引入所有标准库
using namespace std;#define int long long  // 将int定义为long long,避免数据溢出int a[1000010], b[1000010];     // a表示每层节点数,b为前缀和数组
int l[1000010], r[1000010];     // l和r分别表示每个节点的左儿子和右儿子signed main() {int n;cin >> n;                   // 输入层数 nint s = 0;                  // s 为所有节点数总和// 读取每层的节点数,并计算前缀和 b[i],以及总节点数 sfor(int i = 1; i <= n; i++) {cin >> a[i];b[i] = b[i-1] + a[i];   // b[i] 表示前 i 层的节点总数s += a[i];              // s 是所有层的节点数之和}cout << 1 << "\n";          // 输出根节点的编号为 1int node = 2;               // node 表示下一个要分配的节点编号,从2开始(1是根)int f = 0;                  // f 用于交替分配左右儿子(0 表示左儿子,1 表示右儿子)int fu = 1;                 // fu 表示当前正在分配子节点的父节点编号// 从第二层开始为每一层的节点安排父节点连接关系for(int i = 2; i <= n; i++) {int x = a[i];           // 当前层的节点数int cnt = 0;            // 当前父节点已经连接了几个子节点(最多2个)// 为当前层的每个节点分配父节点连接(左或右儿子)while(x--) {if(f == 0) {l[fu] = node;   // 当前父节点的左儿子设为 nodef = 1;          // 下一次连接右儿子cnt++;          // 已连接一个子节点} else {r[fu] = node;   // 当前父节点的右儿子设为 nodef = 0;          // 下一个父节点开始连接左儿子cnt++;          // 已连接第二个子节点}if(cnt == 2) {      // 如果当前父节点已经连接两个儿子fu++;           // 切换到下一个父节点cnt = 0;        // 重置计数}node++;             // 准备分配下一个新节点}fu = b[i-1] + 1;        // 更新 fu 为当前层第一个父节点的编号(第 i-1 层的第一个节点编号 + 1)}// 输出每个节点的左右儿子编号,如果没有则输出 -1for(int i = 1; i <= s; i++) {if(l[i] == 0) l[i] = -1;    // 没有左儿子if(r[i] == 0) r[i] = -1;    // 没有右儿子cout << l[i] << " " << r[i] << "\n";  // 输出结果}
}

相关文章:

  • ComfyUI的K采样器参数详解:实战演示
  • Python 实现失败重试功能的几种方法
  • 数据同步DataX任务在线演示
  • 部署Superset BI(六)Superset 的主机安装
  • LVGL(lv_list列表控件)
  • Linux服务器管理面板新选择:mdserver-web深度解析与使用指南
  • sqlilab-Less-18
  • CHIP第四次作业
  • Python笔记:windows下永久配置pip镜像源
  • 5.10-套接字通信 - C++
  • 算法题(145):货仓选址
  • SpringAI框架中的RAG模块详解及应用示例
  • Halcon案例(一):C#联合Halcon识别路由器上的散热孔
  • 定时器设计
  • python打包成exe
  • 中国古代史4
  • Vue 3 实现转盘抽奖效果
  • 对抗进行性核上性麻痹,健康护理筑牢生活防线
  • 大数据课设——基于电影数据集,分析导演影响力,绘制各种可视化图表
  • python练习-20250512
  • 政府网站建设技术标准/杭州百度快照优化排名
  • 轻淘客 轻网站怎么做/中国网站访问量排行
  • 网站制作公司全域营销获客公司/查域名网站
  • 复制别人网站的源码做网站模板/外链推广网站
  • 做网站的博客/高级seo课程
  • 宿迁哪家做网站推广/百度排名优化咨询电话