好久没刷蓝桥杯OJ了,今天来吧蓝桥杯基础题写完(当然有几个题没看懂,人已经de傻了)
说一下今天写的题的思路吧
1.胡夫汉树
优先队列
priority_queue
2.回型取数
跟算法入门经典的一道题很像
挺像的,一个赋值一个打印
3.龟兔赛跑
每一秒一个过程一个过程的加上双方位移就好,秒数我取的是1->L/V2
注意划线部分不要取等,没看清题目
4.芯片测试
这个题最离谱,仔细一想也是很简单其实
第j列就是其他芯片对该芯片的测试
而好的多余坏的
固然正确结论多于错误结论
那种结论多就是了
5.数的读法
很久之前也是做过这种题目
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;
const double eps=1e-8;
const int MAX=0x3f3f3f3f;
int main()
{
string s;
cin>>s;
string s1[10]= {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
string s2[11]= {"","","shi","bai","qian","wan","shi","bai","qian","yi","shi"};
for(int i=0; i<s.length(); i++)
{
if(s[i]=='0'&&s[i+1]!='0'&&i!=s.length()-1)//单个0
cout<<" ling";
else if(s[i]=='0'&&s[i+1]=='0'&&i!=s.length()-1)//连续0
continue;
else if(i==s.length()-1&&s[i]=='0')//末尾为零的情况
continue;
else
{
if(i!=0)
cout<<" ";
if(s1[s[i]-'0']=="yi"&&s2[s.length()-i]=="shi")
{
cout<<"yi shi";
}
else
{
cout<<s1[s[i]-'0'];
if(s.length()-i>1)
cout<<" "<<s2[s.length()-i];
}
}
}
return 0;
}