咕咕東是個貪玩的孩子,有一天,他從上古遺跡中得到了乙個神奇的圓環。這個圓環由字母表組成首尾相接的環,環上有乙個指標,最初指向字母a。咕咕東每次可以順時針或者逆時針旋轉一格。例如,a順時針旋轉到z,逆時針旋轉到b。咕咕東手裡有乙個字串,但是他太笨了,所以他來請求你的幫助,問最少需要轉多少次。
————————————————
解題過程
第一次模擬唯一一道提交上去的題。菜到令人髮指,前途一片黑暗。
利用ascii碼計算距離,就是文字之間的距離如果大於13就逆時針,小於13就順時針轉,有26個字母,逆時針的距離是26-順時針距離。
雖然很簡單但是還在找bug上浪費許許多多時間,說明很不熟練需要多寫**……
#include
#include
#include
using
namespace std;
intmain
(int argc,
char
** ar**)
cout<
return0;
}
咕咕東考試周開始了,考試周一共有n天。他不想考試周這麼累,於是打算每天都吃頓好的。他決定每天都吃生煎,咕咕東每天需要買ai個生煎。但是生煎店為了刺激消費,只有兩種購買方式:①在某一天一次性買兩個生煎。②今天買乙個生煎,同時為明天買乙個生煎,店家會給乙個券,第二天用券來拿。沒有其餘的購買方式,這兩種購買方式可以用無數次,但是咕咕東是個節儉的好孩子,他訓練結束就走了,不允許訓練結束時手裡有券。咕咕東非常有錢,你不需要擔心咕咕東沒錢,但是咕咕東太笨了,他想問你他能否在考試周每天都能恰好買ai個生煎。
————————————————
反思
如果腦子不夠解不開密碼鎖又想開門,那就只能暴力。如果太弱那麼連暴力的資本都沒有。雖然寫了暴力方法但是沒能交上去,在最後一分鐘被**拒之門外,碼力弱的像只猴子。 後來補題的時候發現暴力方法能過3個點,改了改還過了4個。雖然後來想到了可能和奇偶數有關但是還是不ok
解題過程
所有的兩個生煎的買法都可以被方案1解決,用方案2是沒有意義的,也就是說生煎只有0、1(奇)、2(偶)三種狀態,輸入的時候把多餘的生煎私吞轉化為0、1、2 。
因為要確保最後沒有券浪費所以從最後一天開始向前看,如果最後一天是2或0則前一天不需要券,如果是1則前一天買了乙個券,則前一天要買的生煎數-1,如果出現某一天生煎為負說明沒有方法則退出迴圈,如果到迴圈結束生煎數全部正常,則可以輸出yes。
第一天生煎數不可以是1,因為只有兩種情況會是1,第一天偶數第二天奇數(一張券不夠兩張浪費),第一天奇數以後都是偶數(最後一天浪費券)
#include
#include
#include
#include
#include
using
namespace std;
int a[
100020];
intmain
(int argc,
char
** ar**)
for(
int i=n-
1;i>
0;i--)if
(a[i]%2
==0)if
(a[i]==1
)}if(a[0]
==1) f=1;
if(f==1)
cout<<
"no"
;else
cout<<
"yes"
;return0;
}
眾所周知,瑞神已經達到了cs本科生的天花板,但殊不知天外有天,人外有苟。在浩瀚的宇宙中,存在著一種叫做苟狗的生物,這種生物天生就能達到人類研究生的知識水平,並且天生擅長csp,甚至有全國第一的水平!但最可怕的是,它可以發出宇宙射線!宇宙射線可以摧毀人的智商,進行降智打擊!
宇宙射線會在無限的二維平面上傳播(可以看做乙個二維網格圖),初始方向預設向上。宇宙射線會在發射出一段距離後**,向該方向的左右45°方向**出兩條宇宙射線,同時威力不變!宇宙射線會**n次,每次**後會在**方向前進ai個單位長度。
現在瑞神要帶著他的小弟們挑戰苟狗,但是瑞神不想讓自己的智商降到普通本科生那麼菜的水平,所以瑞神來請求你幫他計算出共有多少個位置會被"降智打擊"
————————————————
反思
補題的時候才來的及讀題的一道題,知道自己菜所以也沒有在模擬時拿分的想法 ,結果就交了乙個題。碼力嚴重不足,知識嚴重不足,智商嚴重欠費 。
解題過程
其實每次移動45°的射線只有8種**狀態(上,上右,右,下右,下,下左,左,上左 )像在之前走迷宮的時候一樣 用陣列儲存8個移動狀態方便移動。
用結構體表示位置狀態,用乙個陣列reach記錄情況避免重複情況(起點方向次數一致時是重疊的)下圖(不是苯環 )紅圈圈的地方開始重疊。
用set來記錄位置,可以避免記錄重疊位置。
每個射線**45°(當前**狀態向右或下偏轉)和-45°(向左或上偏)
遞迴求解。**次數達到後輸出set的size,就是所有經過的位置和。
=;//上,上右,右,下右,下,下左,左,上左
int yc[8]
=;bool reach[
700]
[700][
32][8
]=;int n=0;
struct xy
bool
operator
<
(const xy& p)
const
else
return y
;set vis;
void
splitter
(int ind,
int times,xy pos )
splitter
((ind+7)
%8,times+
1,pos)
;//**
splitter
((ind+1)
%8,times+
1,pos);}
}int
main
(int argc,
char
** ar**)
xy begin;
begin.x=
300; begin.y=
300;
splitter(0
,0,begin)
; cout<
size()
;return0;
}
2020 8 8 模擬賽補題
pta 7 10 排座位 這道題中,因為朋友關係是可以傳遞的,所以我們用並查集來儲存朋友關係。敵對關係不可傳遞,所以我們用乙個鄰接表儲存敵對關係。再根據題目要求進行輸出 include include include include using namespace std int pre 1010 ...
csp模擬 模擬測試16
fdasds include using namespace std define cle a memset a,0,sizeof a inline int read const int mod 1e9 7,maxn 1e3 100 int n,m,ans 0 int f maxn maxn int...
csp模擬 模擬測試4
t1是暴力分,t2當時沒有花太多時間去推導,一見到t2就十分害怕,便放過了它,t3的話花了大量的時間推了乙個錯誤的解,以後對於t2這種題不要未戰先怯,一點一點的去推導!那一天我們在教室裡許下約定。我至今還記得我們許下約定時的歡聲笑語。我記得她說過她喜歡吃餅乾,很在意自己體重的同時又控制不住自己。她跟...