氣死「人」的慶生賽

2021-08-17 19:14:09 字數 3364 閱讀 1045

「人」比「人」,氣死「人」

(為什麼「人」要加引號呢?因為這是我們班的乙個梗,看不透很正常)

(寫之前向老師道個歉,上週作業沒寫完,所以沒寫部落格,萬望老師饒我一命

來看看我的成績

1(很明顯,題目描述被我改過了

hzk(沒錯,這次我就要黑hzk

樣例:input:

**00*

0****

0*00*

0****

output:

2(中間兩個)

老師說這是乙個矩形,然後我就交了這樣乙個**:

#includeusing namespace std;

string a[11];

bool b[11][201];

int t=0,tt,s,ans=0;

bool p;

void dfs(int x,int y)

s++;

b[x][y]=false;

if(a[x-1][y]=='0'&&b[x-1][y]) dfs(x-1,y);

if(a[x+1][y]=='0'&&b[x+1][y]) dfs(x+1,y);

if(a[x][y-1]=='0'&&b[x][y-1]) dfs(x,y-1);

if(a[x][y+1]=='0'&&b[x][y+1]) dfs(x,y+1);

}int main()

t--;

tt=a[1].size()-1;

for(int i=1;i<=t;i++)

for(int j=0;j<=tt;j++)

if(a[i][j]=='0'&&b[i][j])

cout<

然後改出來只有六十,結果老師的題解裡說:「0」是個矩形emmmmm(雖然好像並沒有什麼問題(我太蒟了?))

然後改了一下(不止一下。。。),從邊緣開始搜,把碰到的全賦成「*」,最後再統計一遍「0」就好啦:

#includeusing namespace std;

string b[11];

char a[11][201]={};

int t=0,tt,s,ans=0;

void dfs(int x,int y)

int main()

t--;

tt=b[1].size()-1;

for (int i=1;i<=t;i++)

for (int j=0;j<=tt;j++)

a[i][j]=b[i][j];

for (int i=1;i<=t;i++) if (a[i][0]=='0') dfs(i,0);

for (int i=1;i<=t;i++) if (a[i][tt]=='0') dfs(i,tt);

for (int i=0;i<=tt;i++) if (a[1][i]=='0') dfs(1,i);

for (int i=0;i<=tt;i++) if (a[t][i]=='0') dfs(t,i);

for (int i=1;i<=t;i++)

for (int j=0;j<=tt;j++)

if (a[i][j]=='0') ans++;

cout<

2(放心,題目描述全是被我改過的):

kzh沒有難住hzk,但是hzk原諒(此原諒非彼原諒,別想歪)了他,兩人成了好朋友。一天,兩人在一起玩最近很火的「殺逃大:生求地絕」(簡稱「雞吃」)。兩人開始在「r」點的位置,他們要逃到「a」點。他們每秒能走一步(」.「),但是他們不能穿牆(」#「),如遇到守衛(」x「),他們需要花一秒時間來殺死守衛,才能走到守衛所在的位置。他們想要盡快通關,請問最少要幾秒?

樣例:input:

7 8    // 7行8列

# . a# . . r .

# . . # x . . .

. # . . . . . .

. . . . . . . .

一開始直接寫了個dfs,然後加記憶化,結果時間不夠了emmmm,直接交了10分的無剪枝dfs:

#includeusing namespace std;

int a[201][201];

bool b[201][201];

int n,m,x,y,s=0,ans=1000000;

bool p=false;

char ch;

void dfs(int x,int y)

dfs(x,y);

if(!p)

cout<

else cout<

其實只要再開乙個陣列,用來統計到當前點的最少的步數,若當前步數已經大於等於目前可行的最少步數,就return,這樣就能大大提供效率,就像這樣:

if(s>=b[x][y]) return;

b[x][y]=s;

然後就是基本的搜尋:

if(x>1) dfs(x-1,y,s+a[x][y]+1);

if(x1) dfs(x,y-1,s+a[x][y]+1);

if(y接著只要判斷b[ax][ay]是否有值就行了(rx,ry為hzk和kzh的位置,ax,ay為目標位置):

memset(b,10,sizeof(b));

k=b[1][1];

dfs(rx,ry,0);

if(k==b[ax][ay])

cout<

else cout完整**就是這樣了:

#includeusing namespace std;

int a[201][201]={},b[201][201]={},n,m,ax,ay,rx,ry,k;

char ch;

void dfs(int x,int y,int s)

if(ch=='r')

if(ch=='x') a[i][j]=1;

if(ch=='#') a[i][j]=2;

} k=b[1][1];

dfs(rx,ry,0);

if(k==b[ax][ay])

cout<

else cout<

前兩題是之前在學校機房寫的,但最近qq被盜, 暫時登不上去,題目自然也不知道了,希望大家體諒

t3依稀記得題目描述(也是改的哈):

hzk的數學老師想考考大家的計算能力,就給大家出了道題:他給了每個人乙個數字(我忘了能不能相同),如果a同學的數字能被b同學整除,那麼b就是a的福星。他要求每個同學算出自己有多少個福星,最先算出的人可以得到hljy***js的秘籍——黑皮書。對此,hzk勢在必得。但他今天生病了,頭腦很迷糊。不得已,他找到了你幫忙,希望你寫個**幫助他。

樣例什麼的我也忘了,題面也不一定對,**也不在手上,我也很無奈啊

不過,這道提的正解我還是記得很清楚的,那就是:篩法!篩法!篩法!

十條可以氣死人的手機簡訊

1 跟你做了這麼久的朋友,你一直都很關心我,我卻時常給你添麻煩,真不知該怎麼服答你。所以,下輩子你作牛作馬,我一定拔草給你吃。2 如果你是流星我就追定你,如果你是衛星我就等待你,如果你是恆星我就戀上你,可惜你是 猩猩!3 遇到你,是我心動的開始 愛上你,是我幸福的選擇 擁有你,是我最珍貴的財富 踏入...

氣死男生的對話

氣死男生的對話 1.隨便 男 今天晚上咱們吃什麼?女 隨便。男 吃火鍋好不好?女 不行,吃火鍋臉會長痘痘。男 那去吃川菜?女 昨天剛吃的川菜,今天又吃.男 那你說吃什麼?女 隨便。2.都行 男 那咱們現在到底幹什麼?女 都行。男 看電影怎樣?好久沒有看電影了。女 你怎麼象六十年代人那麼老土?男 那打...

易迅,生的霸氣,死的窩囊

數年前,我想做乙個區域資源優勢,服務本地的平台,去跟乙個風投談。人家以為我是忽悠錢,直接拒了。數月後,易迅以迅雷不及掩耳盜鈴之勢,席捲全國,各地基站紛紛建立,物流整合。讓我苦嘆 人家的命!我不明白,易迅如此有前景的企業,居然有了今天。這是不是老天再次給我機會呢?易迅,生的霸氣,死的窩囊。作為老大們博...