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

平面设计跟网站建设/南京seo优化推广

平面设计跟网站建设,南京seo优化推广,成都排名推广,服务器做网站数据库文章目录 概要L1-089 最好的文档 5L1-090 什么是机器学习 5L1-091 程序员买包子 10L1-092 进化论 10L1-093 猜帽子游戏 15L1-094 剪切粘贴 15L1-095 分寝室 20L1-096 谁管谁叫爹 20L2-045 堆宝塔 25L2-046 天梯赛的赛场安排L2-047 锦标赛 25L2-048 寻宝图 25L3-035 完美树&…

文章目录

        • 概要
        • L1-089 最好的文档 5
        • L1-090 什么是机器学习 5
        • L1-091 程序员买包子 10
        • L1-092 进化论 10
        • L1-093 猜帽子游戏 15
        • L1-094 剪切粘贴 15
        • L1-095 分寝室 20
        • L1-096 谁管谁叫爹 20
        • L2-045 堆宝塔 25
        • L2-046 天梯赛的赛场安排
        • L2-047 锦标赛 25
        • L2-048 寻宝图 25
        • L3-035 完美树(骗分16)
        • 参考资料

概要

L1部分:L1-089~L1-096
L2部分:L2-045~L2-048
L3部分:L3-033~L3-036

L1-089 最好的文档 5

#include<bits/stdc++.h>
using namespace std;
int main(){cout<<"Good code is its own best documentation.\n";return 0;
}

L1-090 什么是机器学习 5

#include<bits/stdc++.h>
using namespace std;
int main(){int a, b;  cin>>a>>b;int c = a+b;cout<<c-16<<"\n"<<c-3<<"\n"<<c-1<<"\n"<<c<<"\n";return 0;
}

L1-091 程序员买包子 10

#include<bits/stdc++.h>
using namespace std;
int main(){int n, m, k;  string x; cin>>n>>x>>m>>k;if(k==n){cout<<"mei you mai "<<x<<" de\n";}else if(k==m){cout<<"kan dao le mai "<<x<<" de\n";}else{cout<<"wang le zhao mai "<<x<<" de"<<"\n";}return 0;
}

L1-092 进化论 10

#include<bits/stdc++.h>
using namespace std;
int main(){int n;  cin>>n;for(int i = 1; i <= n; i++){int a, b, c;  cin>>a>>b>>c;if(c==a*b){cout<<"Lv Yan\n";}else if(c==a+b){cout<<"Tu Dou\n";}else{cout<<"zhe du shi sha ya!\n";}}return 0;
}

L1-093 猜帽子游戏 15

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1010;
int a[maxn];
int main(){int n;  cin>>n;for(int i = 1; i <= n; i++){cin>>a[i];}int k;  cin>>k;while(k--){int ok = 0, ok2 = 1;for(int i = 1; i <= n; i++){int x;  cin>>x;if(x==0)continue;else if(x==a[i]){ok = 1;}else{ok2 = 0;}}if(ok2==1 && ok==1){cout<<"Da Jiang!!!\n";}else{cout<<"Ai Ya\n";}}return 0;
}

L1-094 剪切粘贴 15

#include<bits/stdc++.h>
using namespace std;
int main(){string s;  cin>>s;int T;  cin>>T;while(T--){int x, y;  string a, b;  cin>>x>>y>>a>>b;string t = s.substr(x-1, y-x+1);s.erase(x-1,y-x+1);int cur = 0;int ok = 1;while(s.find(a,cur) != s.npos && cur < s.size()){int p = s.find(a,cur);string tt = s.substr(p+a.size(),b.size());if(tt == b){s.insert(p+a.size(),t);ok = 0;break;}else{cur++;}}if(s.find(a, cur) == s.npos && ok == 1){s.insert(s.size(), t);}}cout<<s<<"\n";return 0;
}

L1-095 分寝室 20

#include<bits/stdc++.h>
using namespace std;
int main(){int x, y, n;  cin>>x>>y>>n;int xx = -1, yy = -1, rs = 1e5+10;int zx = 0, zy = 0;for(int i = 1; i < n; i++){int j = n-i;if(x%i!=0 || y%j!=0)continue;int xi = x/i, yj = y/j;if(xi==1 || yj==1)continue;if(abs(xi-yj) < rs){xx = xi;yy = yj;zx = i;zy = j;rs = abs(xi-yj);}}if(xx!=-1)cout<<zx<<" "<<zy<<"\n";else cout<<"No Solution\n";return 0;
}

L1-096 谁管谁叫爹 20

#include<bits/stdc++.h>
using namespace std;
int get(int x){int res = 0;while(x){res += x%10;x /= 10;}return res;
}
int main(){int n;  cin>>n;while(n--){int na, nb;  cin>>na>>nb;int sa = get(na), sb = get(nb);if(na%sb==0&&nb%sa==0){if(na > nb){cout<<"A\n";}else{cout<<"B\n";}}else if(na%sb==0)cout<<"A\n";else if(nb%sa==0)cout<<"B\n";else if(na > nb){cout<<"A\n";}else{cout<<"B\n";}}return 0;
}

L2-045 堆宝塔 25

//思路:
//看到堆盘子想到水杯/栈 /(汉诺塔/递归,并没有)之类的东西,按题意无脑模拟即可
#include<bits/stdc++.h>
using namespace std;
int main(){int n;  cin>>n;stack<int>a, b;int cnt = 0, mx = 0;while(n--){int x;  cin>>x;if(a.empty() || x<a.top()){a.push(x);}else{if(b.empty() || x>b.top()){b.push(x);}else{mx = max(mx, (int)a.size());while(!a.empty())a.pop();cnt++;while(!b.empty() && b.top()>x){a.push(b.top());b.pop();}a.push(x);}}}if(a.size()!= 0)cnt++;if(b.size()!= 0)cnt++;mx = max(mx, (int)a.size());cout<<cnt<<" "<<mx<<"\n";return 0;
}

L2-046 天梯赛的赛场安排

//思路:
//按题意模拟即可,注意细节点比较多,每一轮对当前未安排的人数最多的学校进行处理,只处理一个考场,然后剩余人数是要放回去的。
//最开始的找人数最多可以重载优先队列,找编号最小的和新开考场其实注意到数组范围不大,其实可以开个数组for。
//好久没写代码了,一下子没想到开数组,也忘记怎么打重载了,所以就乱搞了一波,强行暴力多for了一下。
#include<bits/stdc++.h>
using namespace std;
const int maxn = 5050;
string sc[maxn];
int num[maxn], rs[maxn];
int main(){int n, c;  cin>>n>>c;priority_queue<pair<int,int>>q2;for(int i = 1; i <= n; i++){cin>>sc[i]>>num[i];q2.push({num[i], i});}int cnt = 0;int tot = 0;priority_queue<pair<int,int>>q;int xxx = 0;while(q2.size()){int nm = q2.top().first;int id = q2.top().second;  q2.pop();if(nm > c){rs[id]++;cnt++;nm -= c;q2.push({nm,id});continue;}if(nm != 0){if(!q.empty() && q.top().first >= nm){vector<pair<int,int>>vc;while(!q.empty() && q.top().first >= nm){vc.push_back(q.top()); q.pop();}int t = vc.back().first; int id2 = vc.back().second;t -= nm;rs[id]++;if(t != 0)q.push({t, id});for(int i = 0; i < vc.size()-1; i++){q.push(vc[i]);}}else{q.push({c-nm, ++tot});rs[id]++;cnt++;}}}for(int i = 1; i <= n; i++){cout<<sc[i]<<" "<<rs[i]<<"\n";}cout<<cnt<<"\n";return 0;
}

L2-047 锦标赛 25

在这里插入图片描述

//题意:2^k个人两两比赛,最后剩1个。给出第i轮第j场的失败者,求最开始的所有人顺序。
//思路:完美二叉树,底层一半的值确定了,然后往上走一层,如果当前值比前一层对应位置的某个值大,那么就可以加入答案中,否则加无解了。
//数组维护上一层每个节点在答案中的位置(尚未被填入值的),然后从底往上走依次把值填进去即可。
#include<bits/stdc++.h>
using namespace std;
#define lch (j<<1)
#define rch (j<<1|1)const int maxv = 50, maxn = (1<<20);
int a[maxv][maxn], o[maxv][maxn]; //第i层第j个的能力,以及兄弟节点在答案中的位置
int res[maxn];int main(){int k;  cin>>k;int ok = 1;for(int i = 1; i <= k; i++){int n = 1<<(k-i);for(int j = 0; j < n; j++){  //枚举每一层cin>>a[i][j];if(i==1){res[lch] = a[i][j];  o[i][j] = rch;continue;}int mx = max(a[i][j], max(a[i-1][lch], a[i-1][rch]));if(a[i][j] < a[i-1][lch] && a[i][j] < a[i-1][rch]){ok = 0;break;}else if(a[i][j] >= a[i-1][lch]){ //如果当前是胜者, 就放到另一个位置res[o[i-1][lch]] = a[i][j];o[i][j] = o[i-1][rch]; }else{res[o[i-1][rch]] = a[i][j];o[i][j] = o[i-1][lch];}  a[i][j] = mx;  //记录子树最大值}}int w;   cin>>w;if(a[k][0] <= w) res[o[k][0]] = w; else ok = 0;if(ok==0){ cout<<"No Solution\n"; return 0; }for(int i = 0; i < (1<<k); i++){cout<<res[i]<<" \n"[i==(1<<k)];}return 0;
}

L2-048 寻宝图 25

//题意:Floodfill 例题,找联通块。
//岛屿的个数:dfs找有多少个联通块即可,注意1e5x1e5开不下bool/int数组和判重,可以用变长string,然后走过一个点就直接改掉
//宝藏岛屿:注意特判刚进去的那个点是不是宝藏,没判断的话是15分
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+10;
int n, m;
string a[maxn];
int dx[] = {0, 0, -1, 1};
int dy[] = {1, -1, 0, 0};
int ok = 0;
void dfs(int x, int y){if(a[x][y]!='0' && a[x][y] != '1')ok = 1;for(int i = 0; i < 4; i++){int nx = x+dx[i], ny = y+dy[i];if(nx<=0||nx>n || ny<=0 || ny > m)continue;if(a[nx][ny]=='0')continue;if(a[nx][ny]!='1')ok = 1;a[nx][ny] = '0';dfs(nx, ny);}
}
int main(){cin>>n>>m;for(int i = 1; i <= n; i++) {cin>>a[i];a[i] = "0"+a[i];}int cnt = 0, res = 0;for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++){if(a[i][j]!='0'){ok = 0;dfs(i,j);cnt++;if(ok==1)res++;}}}cout<<cnt<<" "<<res<<"\n";return 0;
}

L3-035 完美树(骗分16)

//骗分:最后只输出一个数字,暴力从1开始枚举看看能不能骗分
//发现0有1分,20有15分。 然后试试限一下n的范围把两个点都骗进去。
#include<bits/stdc++.h>
using namespace std;int main(){int n;  cin>>n;if(n<10)cout<<"0";//1分else cout<<"20";   //15分return 0;
}

参考资料

官方题解:链接

http://www.jmfq.cn/news/4730185.html

相关文章:

  • 山西集团网站建设/温州seo优化公司
  • 如何自己注册域名/西安seo服务公司排名
  • 广东省住建厅官方网站/创建网页
  • 大麦网网站内似网站开发/网站怎么推广出去
  • 青岛专业网站制作/北京seo推广公司
  • 鄂尔多斯市城乡建设委员会网站/杭州网站设计
  • 做外贸的网站哪个好/成人教育培训机构
  • 东莞市做网站的最好的是哪家的/中国500强最新排名
  • 新郑网站建设/网站设计制作一条龙
  • 来个网站你知道的2022年/网站优化外包推荐
  • 有没有做校园文化的网站/风云榜小说排行榜
  • 开发者/网站是怎么优化的
  • 如何再网站上做免费广告词/杭州网站建设公司
  • 网站备案幕布下载/网站建设服务公司
  • 公司网站开发的流程/导航网站怎么推广
  • 女人被做网站/国内重大新闻
  • 南宁两学一做网站/网上接单平台有哪些
  • 可以开发哪些网站/免费友情链接
  • 广州设计网站公司/百度提交收录
  • 奥维网络高端网站建设公司/网络推广seo怎么做
  • 沈阳市网站建设报价/企业网站模板免费下载
  • 河北省质监站网址/求老哥给几个靠谱的网站
  • 学做电商的网站有哪些/海外推广营销平台
  • 甘肃网站建设推广服务/seo技术自学
  • 口腔医院网站做优化/百度投诉中心24人工
  • 自己做APP需要网站吗/今日头条seo
  • 有哪个网站做正品港货/沧州seo公司
  • 做网站 能挣钱吗/企业网站的作用
  • 南京网站建设网站设计/搜狗引擎搜索
  • 无锡优化网站业务/百度推广销售员好做吗