三合一

模拟即可

#include<bits/stdc++.h> using namespace std;vector<int> v;
int main( )
{int n;cin >> n;for (int i = 1; i <= n;i++){int x;cin>>x;v.push_back(x);}int num = 0;while (1){int len=v.size();if (len <= 2)break;num++;for (int i = 0; i + 2 < len;i++){if ((v[i+0] + v[i+1] + v[i+2]) <= num * 3){int sum=v[i+0] + v[i+1] + v[i+2];v[i]=sum;v.erase(v.begin()+i+1);v.erase(v.begin()+i+1);len-=2;}}}cout << num << endl;system("pause");return 0;
}

竖直打印机

#include<bits/stdc++.h> using namespace std;string a[1001];
int main( )
{string str;char ch;int mx = 0;int k = 0;while(cin>>str){a[k++] = str;mx = max(mx, (int)str.length());if(ch=cin.get()=='\n')break;}//cout << mx << endl;//cout << k << endl;for (int i = 1; i <= mx;i++){for (int j = 0; j < k;j++){if(a[j].length()<i)cout << " ";elsecout << a[j][i - 1];}cout << endl;}//system("pause");return 0;
}

硬币塔
看的别人的代码

#include <bits/stdc++.h>
using namespace std;
#define mem(a) memset(a, 0, sizeof(a))
#define dbg(x) cout << #x << " = " << x << endl
#define fi(i, l, r) for (int i = l; i < r; i++)
#define cd(a) scanf("%d", &a)
typedef long long ll;
typedef pair<ll, ll> pii;
#define SIZE 40map<pii, ll> ma;
ll height[SIZE + 1] = {1};ll getAB(ll a, ll b) {  // a层塔的下b层有多少个金币ll originalB = b;if (ma.count({a, b}))return ma[{a, b}];if (a == 0) {return ma[{a, b}] = 1;}ll ans = 0;b--;  // 最下面的银币if (b > 0) {ll removeHeight = min(height[a - 1], b);b -= removeHeight;ans += getAB(a - 1, removeHeight);}if (b > 0) {ll removeHeight = min(a, b);  // 中间有a个金币b -= removeHeight;ans += removeHeight;}if (b > 0) {ll removeHeight = min(height[a - 1], b);b -= removeHeight;ans += getAB(a - 1, removeHeight);}b--;return ma[{a, originalB}] = ans;
}int main(int argc, char** argv) {for (ll i = 1; i <= SIZE; i++) {height[i] = 1 + height[i - 1] + i + height[i - 1] + 1;}ll a, b;cin >> a >> b;if (!b) {puts("0");return 0;}ll ans = getAB(a, b);printf("%lld\n", ans);return 0;
}

巨大的错误
简单的组合数学

#include<bits/stdc++.h> using namespace std;
long long dp[21];
long long  c(int n,int m)
{long long ans1=1,ans2=1;for(int i=n,j=m;j>=1;j--,i--){ans1=ans1*i;ans2=ans2*j;}return ans1/ans2;
}
long long a(int n)
{long long ans=1;for(int i=1;i<=n;i++)ans=ans*i;return ans;
}
int main( )
{int n;cin>>n;if(n<=1){cout<<0<<endl;return 0;}dp[0]=1;dp[2] = 1;dp[3] = 2;//cout << num << endl;//cout << c(5, 2) << endl;for (int i = 4; i <= n;i++){dp[i] = a(i);for (int j = 1; j <= i; j++){if(j==i-1)continue;dp[i] -= c(i, j) * dp[i - j];}}// dp[4]-4*cout<<dp[n]<<endl;//system("pause");return 0;
}

三角形个数

推一下递推公式
//(n+1)(2nn+3n-1)/8 n奇数
//n*(n+2)(2n+1)/8 n偶数

#include<bits/stdc++.h>
//(n+1)*(2*n*n+3*n-1)/8   n奇数
//n*(n+2)*(2*n+1)/8   n偶数
using namespace std;int main( )
{int t;cin>>t;while(t--){int n;cin>>n;if(n&1)cout<<(n+1)*(2*n*n+3*n-1)/8<<endl;else cout<<n*(n+2)*(2*n+1)/8<<endl;}return 0;
}

东华大学码蹄集oj赛第一周(三合一,竖直打印机,硬币塔,巨大的错误,三角形个数)相关推荐

  1. 码蹄集天天向上擂台第一题(最大的平均数)为什么超时长和超过内存了

    # 码蹄集天天向上擂台第一题 n, m = map(int, input().split()) # n数组长度,m子集的最小长度 arr = [] # 数组 for i in range(n): a ...

  2. 小黄的刷题之路(九)——码题集OJ赛-列表实现简单“合成2048”

    文章目录 一.题目 二.分析思路 2.1 审题和理解 2.2 思路 三.代码实现 3.1. python代码实现 四.总结 一.题目 二.分析思路 2.1 审题和理解 我们把题目看了一遍之后,先总结出 ...

  3. 算法竞赛入门【码蹄集进阶塔335题】(MT2001-2025)

    算法竞赛入门[码蹄集进阶塔335题](MT2001-2025) 文章目录 算法竞赛入门[码蹄集进阶塔335题](MT2001-2025) 前言 为什么突然想学算法了? 为什么选择码蹄集作为刷题软件? ...

  4. 算法竞赛入门【码蹄集新手村600题】(MT1151-1200)

    算法竞赛入门[码蹄集新手村600题](MT1151-1200) 文章目录 算法竞赛入门[码蹄集新手村600题](MT1151-1200) 前言 为什么突然想学算法了? 为什么选择码蹄集*作为刷题软件? ...

  5. 算法竞赛入门【码蹄集进阶塔335题】(MT2311-2315)

    算法竞赛入门[码蹄集进阶塔335题]MT2311-2315 文章目录 算法竞赛入门[码蹄集进阶塔335题]MT2311-2315 前言 为什么突然想学算法了? 为什么选择码蹄集作为刷题软件? 目录 1 ...

  6. 算法竞赛入门【码蹄集进阶塔335题】(MT2051-2075)

    算法竞赛入门[码蹄集进阶塔335题](MT2051-2075) 文章目录 算法竞赛入门[码蹄集进阶塔335题](MT2051-2075) 前言 为什么突然想学算法了? 为什么选择码蹄集作为刷题软件? ...

  7. 算法竞赛入门【码蹄集进阶塔335题】(MT2291-2295)

    算法竞赛入门[码蹄集进阶塔335题](MT2291-2295) 文章目录 算法竞赛入门[码蹄集进阶塔335题](MT2291-2295) 前言 为什么突然想学算法了? 为什么选择码蹄集作为刷题软件? ...

  8. 算法竞赛入门【码蹄集进阶塔335题】(MT2321-2325)

    算法竞赛入门[码蹄集进阶塔335题](MT2321-2325) 文章目录 算法竞赛入门[码蹄集进阶塔335题](MT2321-2325) 前言 为什么突然想学算法了? 为什么选择码蹄集作为刷题软件? ...

  9. 算法竞赛入门【码蹄集进阶塔335题】(MT2026-2050)

    算法竞赛入门[码蹄集进阶塔335题](MT2026-2050) 文章目录 算法竞赛入门[码蹄集进阶塔335题](MT2026-2050) 前言 为什么突然想学算法了? 为什么选择码蹄集作为刷题软件? ...

最新文章

  1. Go语言实例化结构体——为结构体分配内存并初始化
  2. 机器学习知识点(九)BP神经网络Java实现
  3. discuz在线人数的实现原理(Discuz6.1.0)
  4. java注解判断字段是否存在_使用注解和反射判断指定的字段不能为空
  5. 【成都站参会指南】神策 2020 数据驱动用户大会,邀您面基!
  6. NDN与TCP/IP
  7. [云炬创业学笔记]第三章商业创意的发掘与评估测试2
  8. eclipse不支持泛型_C++ 泛型编程(一)
  9. 鸿蒙系统适配机型_小米手机系统软件部总监公布小米各机型安卓P适配计划
  10. 数据库表操作、数据类型及完整性约束
  11. python传中文参数_解决Python传递中文参数的问题
  12. 我是如何寻找数据集的,一些个人私藏
  13. 谈一下“男”字“,女”字,怎样解析?
  14. 转义sed替换模式的字符串
  15. 键盘拆开重新安装步骤_机械键盘小白入门工具
  16. 持续集成工具Jenkins_尚硅谷视频学习笔记
  17. Linux下WebLogic漏洞补丁包安装过程
  18. 一文学会Maven私服的搭建
  19. iis和tomcat5整合
  20. 后退一步 小程序_微信小程序返回上一级页面的实现代码

热门文章

  1. 分清概念十分重要系列之--说说人工智能中的各种学习
  2. 让AI生成AI绘画提示词,OpenAI最新成果ChatGPT被网友玩坏了!还会写代码修bug作诗...
  3. CF903 D.Almost Difference
  4. 5G技术将启动研究 峰值速率或达10Gbps
  5. 虚拟机还原后的网卡设置
  6. STM32 MLX90614+OLED显示温度(含代码)
  7. 现在有没有在家办公的兼职?
  8. 怎么用黑窗口进去mysql_如何在黑窗口里或命令行里连接mysql
  9. 信息系统项目管理师第四版知识摘编:第1章 信息化发展
  10. Q-Net---基于查询的少镜头医学图像分割