?
第一題
題目鏈接
0貪吃蛇長度 - 藍橋云課
題目解析
題意:數#個數和@個數再加上首尾
代碼原理
略
代碼編寫
略
填空題技巧
眼看手數
當然并不是真的一個一個數,我們需要借助一些工具,不過各位小伙伴們放心,我們借助的工具一定是比賽時能用的工具
cv技術想必大家都會的,哎,也許真的會有小伙伴不知道cv技術,那么博主在這里也給大家簡單講一下這個cv技術,cv技術即ctrl + c 、ctrl + v。
先將圖片中的代碼cv到devc++中
在這一欄找到搜索
用字母去替換#和@,這里建議分開數哈,一邊換,一邊數,數完一個100就找個地方記一下數
第二題
題目解析
解題技巧
excel技巧
選擇單元格格式,選擇日期
答案就是取整即可
第三題
題目鏈接
題目解析
代碼原理
略
代碼編寫
#include<iostream>
#include<bits/stdc++.h>
using?namespace?std;
typedef?long?long?ll;
ll?check(ll?m)
{
??ll?max_ans?=?-0x3f3f3f3f;
??while(m?!=?1)
??{
????m?=?m?%?2??m?*?3?+?1?:m?/?2;
????if(m?>?max_ans)?max_ans?=?m;
??}
??return?max_ans;
}
int?main()
{
??ios::sync_with_stdio(0);
??cin.tie(0);
??cout.tie(0);
??ll?n?=?0;
??cin?>>?n;
??ll?max_val?=?-0x3f3f3f3f;
??for(ll?i?=?1;?i?<=?n;?i++)
??{
????ll?t?=?check(i);
????if(max_val??<?t)?max_val?=?t;
??}
??cout?<<max_val;
??return?0;
}
第四題
題目鏈接
0工作時長 - 藍橋云課
題目解析
代碼原理
略
代碼編寫
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
struct Date
{
?? ?int month,day;
?? ?int h,m,n;
}d[530];
bool Compare(Date a, Date b)
{
?? ?if(a.month != b.month) return a.month < b.month;
?? ?else if(a.day != b.day) return a.day < b.day;
?? ?else if(a.h != b.h) return a.h < b.h;
?? ?else if(a.m != b.m) return a.m <b.m;
?? ?else return a.n < b.n;
}
int main()
{
?? ?string s;
?? ?for(int i = 1; i <= 520; i++)
?? ?{
?? ??? ?getline(cin,s);
?? ??? ?sscanf(s.c_str(), "2022-%d-%d %d:%d:%d",&d[i].month,&d[i].day,&d[i].h,&d[i].m,&d[i].n);
?? ?}
?? ?sort(d + 1, d + 1 + 520, Compare);
?? ?ll ans = 0;
?? ?for(int i = 1; i <= 520 && i + 1 <= 520; i += 2)
?? ?{
?? ??? ?ll stime = d[i].day * 24 * 60 * 60 + d[i].h * 60 * 60 + d[i].m * 60 + d[i].n;
?? ? ? ?ll etime = d[i + 1].day * 24 * 60 * 60 + d[i + 1].h * 60 * 60 + d[i + 1].m * 60 + d[i + 1].n;
?? ? ? ?ans += etime - stime;
?? ?}
?? ?cout << ans << endl;
?? ?return 0;
?}?
這個代碼呢是無法通過的,但是這個代碼出來的結果是答案
結果圖
?思路梳理
先將這些數據導入進來,再用sort容器進行排序,最后再轉化成秒然后每次進行一次相減得到時間戳,最后再相加
本題總結
1.sort模板:sort(起始位置,終點位置,函數名);
2.? ?getline(cin,s);
?sscanf(s.c_str(), "%d-%d-%d %d:%d:%d",&d[i].year,&d[i].month,&d[i].day,&d[i].h,&d[i].m,&d[i].n);
當然啦,這題也可以用excel的方法解題,如果小伙伴們不太熟悉excel的可以試著學一下這個方法?
第五題?
題目鏈接
0互質數的個數 - 藍橋云課
題目解析
代碼原理
這里沒啥好講的,但是有個模板還是建議大家記一下,畢竟這次藍橋模擬中也是出現了
ll?judge(ll?x,?ll?g)
{
??while(g?!=?0)
??{
????ll?tmp?=?g;
????g?=?x?%?g;
????x?=?tmp;
??}
??return?x?==?1;
}
作用是判斷兩數是否為互質
代碼編寫
#include<iostream>
#include<bits/stdc++.h>
using?namespace?std;
typedef?long?long?ll;
const?ll?N?=?998244353;
ll?judge(ll?x,?ll?g)
{
??while(g?!=?0)
??{
????ll?tmp?=?g;
????g?=?x?%?g;
????x?=?tmp;
??}
??return?x?==?1;
}
bool?check(ll?x,?ll?g)
{
??return?judge(x,?g);
}
int?main()
{
??ios::sync_with_stdio(0);
??cin.tie(0);
??cout.tie(0);
??ll?a?=?0,?b?=?0;
??cin?>>?a?>>?b;
??ll?pow_a_b?=?pow(a,?b);
??ll?cnt?=?0;
??for(int?x?=?1;?x?<?pow_a_b;?x++)
??{
??????if(check(x,?pow_a_b))
??????{
????????cnt++;
????????if(cnt?>=?N)
????????{
??????????cnt?%=?N;
????????}
??????}
??}
??cout?<<?cnt;
}
注意哈,這段代碼是暴力破解,有超時的風險
本篇文章的內容就先到這,我們下期文章再見!