2022年《数据结构试验》上机考试一(计科2103,2105班+数据2101,2102班)题解
创始人
2024-04-09 06:44:04
0

 这个波一OJ我真是***

一直给我交之前的main.cpp,我新换上去一直交不上去,一直wa

2208: 该谁发球了?

这是个小思维

大于10以后看的是%2结果

小于10看的是%4的结果

#include
#define int long long
#define pb push_back
using namespace std;
const int N=1e6+10;
signed main(){int n,m;while(cin>>n>>m){if(abs(n-m)==2&&max(n,m)>=11){cout<<"Game Over\n";}else if(n>=10&&m>=10){if((n+m)&1==0){cout<<"A\n";}else{cout<<"B\n";}}else{if((n+m)%4>=2){cout<<"B\n";}else{cout<<"A\n";}}}
}

2375: 判断三角形的形状

模拟即可

#include
#define int long long
#define pb push_back
using namespace std;
const int N=1e6+10;
signed main(){int a,b,c;while(cin>>a>>b>>c){if(a==b&&b==c){cout<<"DB\n";}else if(a+b

5873: 3.5.2 悲剧文本

虽然也是模拟

但这题用list写会好写很多

因为list可以指定插入,通过begin和end调整位置

#include
#define int long long
#define pb push_back
using namespace std;
const int N=1e6+10;
signed main(){string s;while(cin>>s){list li;auto it=li.begin();for(auto t:s){if(t==']'){it=li.end();}else if(t=='['){it=li.begin();}else{li.insert(it,t);}}for(auto t:li){cout<<(char)t;}cout<<'\n';}
}

5867: 4.4.3 矩阵连乘

这道题是之前四则运算的一个简化版本

用栈存括号来辅助计算

#include
#define int long long
#define pb push_back
using namespace std;
#define pll pair
const int N=1e6+10;
pll q[N];
int n,m;
signed main(){cin>>n;for(int i=1;i<=n;++i){char x;cin>>x;cin>>q[x].first>>q[x].second;}string s;while(cin>>s){int f=0;int res=0;stack stk;for(auto i:s){if(isalpha(i)) stk.push(q[i]);else if(i==')'){auto k2=stk.top();stk.pop();auto k1=stk.top();stk.pop();if(k1.second!=k2.first){f=1;break;}res+=k1.first*k1.second*k2.second;stk.push({k1.first,k2.second});}}if(f) cout<<"error\n";else cout<

5874: 4.4.4 打印队列

第i次被打印的一定是第i大的数

排序之后用队列模拟

是直接输出,不是就pop

#include
#define int long long
#define pb push_back
using namespace std;
#define pll pair
const int N=1e6+10;
pll q[N];
int n,m;
void solve(){queue q;vector a,b;int k=0;cin>>n>>m;for(int j=0;j>x;a.push_back(x);b.push_back(x);q.push(j);}sort(b.begin(),b.end(),greater());int w=0;int max=0;while(q.size()){max=b[w];int t=q.front();if(a[t]>T;while(T--){solve();}}

5907: 5.3.5.3 树

几乎是作业原题了

通过中序和前序建树

(不懂这个可以搜一下,很多教程)

然后dfs

#include
#define int long long
#define pb push_back
using namespace std;
#define pll pair
const int N=1e6+10;
int n,lc[N],rc[N];
int minsum,minv;
int ino[N],pos[N];
int create(int L,int R,int m){if(m<=0) return 0;int root=pos[R+m-1];int len=0;while(ino[L+len]!=root){len+=1;}lc[root]=create(L,R,len);rc[root]=create(L+len+1,R+len,m-len-1);return root;
}
bool readline(int *a){string line;if(!getline(cin,line))return false;stringstream s(line);n=0;int x;while(s>>x){a[n++]=x;}return n>0;
}
void dfs(int v,int sum){sum+=v;if(lc[v]==0&&rc[v]==0){if(sum

5917: 5.4.2 信息熵

题面花里胡哨的

这题哈夫曼树板子题

每次取两个最小的,合并在塞回去

直到剩下一个

#include
#define int long long
#define pb push_back
using namespace std;
#define pll pair
const int N=1e6+10;
int a[100];
string s;
void work(){priority_queue,greater > q;if(s=="END") exit(0);for(int i=0;i<=99;++i) a[i]=0;for(int i=0;i<=s.size()-1;++i){if(s[i]=='_'){a[26]+=1;}else{a[s[i]-'A']++;}}for(int i=0;i<27;++i){if(a[i]!=0){q.push(a[i]);}}int sum=0;while(q.size()>=2){int x1=q.top();q.pop();int x2=q.top();q.pop();q.push(x1+x2);sum+=(x1+x2);}if(!sum) sum=s.size();cout<>s){work();}}

相关内容

热门资讯

“四举措”做好环境秩序执法保障... 转自:劳动午报 近日,门头沟区城市管理综合行政执法局强化重点保障地区占道经营、生活垃圾分类、非法小广...
15项举措支持加快构建科技金融... 转自:劳动午报 新华社电 创新之花离不开金融活水的浇灌。科技部、中国人民银行等7部门近日联合发布《加...
北京公交集团6位劳模工匠讲述成... 转自:劳动午报 本报讯 (记者 盛丽)近日,北京公交集团公司工会举办了“中国梦·劳动美——风华百年 ...
向佐分享与郭碧婷婚后幸福秘诀:... 近日,向佐接受采访,向佐郭碧婷2019年结婚至今已有6年,谈到老婆和孩子,向佐脸上露出了笑容,那是他...
城市表情|大风吹 转自:千龙网时间:5月14日地点:北京前门场景:一位小朋友的伞被大风吹起。新京报记者 薛珺 摄
上市券商分红总额攀新高释放行业...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 转自:证券日报   ...
自由现金流策略受关注 公募机构...   首批中证全指自由现金流ETF陆续上市。5月13日,招商基金管理有限公司、工银瑞信基金管理有限公司...
05月15日 新西兰元兑美元跌... Hehson外汇消息2025年05月15日,截至00时41分,外汇市场上新西兰元兑美元汇率跌破1新西...
七部门联合发布15项科技金融政... 转自:证券日报    本报记者 郭冀川    5月14日,科技部、中国人民银行、国家金融监督管理总局...
修旧利废助力降本增效 转自:劳动午报 今年以来,晋能控股煤业集团塔山煤矿公司本着“修旧利废、变废为宝、节支降耗”的原则,倡...
全球封禁华为昇腾 百万AI芯片... 5月13日,马斯克在沙特出席论坛活动。 5月13日,美国商务部正式发布文件,启动撤销拜登签署的《AI...
中关村科技园区朝阳园青年职工开... 转自:劳动午报 本报讯 (记者 刘欣欣) 近日,中关村科技园区朝阳园总工会、中关村朝阳园“数链先锋”...
市交通委对7条公交线路优化征集... 转自:劳动午报 本报讯(记者 周美玉)北京市交通委网站近日发布《关于对专30路、56路、T45等7条...
“歌王争霸赛”丰富职工文化生活 转自:劳动午报 日前,浙江宁波市奉化区总工会主办的“‘职’音有你 声动奉化”2025职工歌王争霸赛决...
89件移民管理新锐装备亮相第1... 中国青年报客户端北京5月14日电(中青报·中青网记者 何春中)“‘免出示证件’通道自2024年11月...
相当于节约标准煤660万吨!大... 中国青年报客户端讯(中青报·中青网记者 魏婉)记者今天从水利部获悉,截至5月14日5时,位于广西的大...
奇安信相关公司新增一项2812... (转自:快查一企业中标了)快查APP显示,奇安信相关公司奇安信网神信息技术(北京)股份有限公司于20...
大动荡!首创证券分析师团队!   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (转自:五道口江湖)...
白衣上的星光 转自:劳动午报 五月的风里夹杂着槐花的甜味,我站在医院门口,望着姐姐穿着崭新的护士服走出来。阳光穿过...
第十二届重庆市青少年书画影大赛... 中国青年报客户端讯(中青报·中青网记者 耿学清 通讯员 柳进)5月14日,以“青春新视角 展望新重庆...