4道題2小時,又是一道,不過這次的比較難,但第二道不應該的,又是審題不仔細導致沒過
題目1:
給定乙個字串,請你將字串重新編碼,將連續的字元替換成「連續出現的個數+字元」。比如字串aaaabccdaa會被編碼成4a1b2c1d2a。
思路:就簡單的字串處理
#include #includeusing namespace std ;
intmain()
ans = ans + to_string(cnt) +temp ;
}cout
<< ans <}
第二題:
在乙個n*n的陣列中尋找所有橫,豎,左上到右下,右上到左下,四種方向的直線連續d個數字的和裡面最大的值
輸入描述:
每個測試輸入包含1個測試用例,第一行包括兩個整數 n 和 d :3 <= n <= 100
1 <= d <= n
接下來有n行,每行n個數字d:
0 <= d <= 100
輸出描述:
輸出乙個整數,表示找到的和的最大值輸入例子1:
4 2輸出例子1:87 98 79 61
10 27 95 70
20 64 73 29
71 65 15 0
193這道沒過不應該了,自以為題目中的左上到右下和右上到左下是乙個意思,然後就少算了一種情況,於是只能過80%的樣例,最後有個疑問,既然0<=d<=100,為什麼還要考慮負數。。
#include #includeusing namespace std ;
int findmax(vectorint>> map,int x,int y,int
d)
if(y+i].size())
if(x+i].size())
if(x+i=0)
}if(lc!=d) l = 0;
if(dc!=d) d = 0;
if(ldc!=d) ld = 0;
if(rdc!=d) rd = 0;
m =max(m,l) ;
m =max(m,d) ;
m =max(m,ld) ;
m =max(m,rd) ;
return
m ;}
intmain()
}int ans = 0;
for(int i=0;i)
}cout
<< ans <}
題目三:推箱子
大家一定玩過「推箱子」這個經典的遊戲。具體規則就是在乙個n*m的地圖上,有1個玩家、1個箱子、1個目的地以及若干障礙,其餘是空地。玩家可以往上下左右4個方向移動,但是不能移動出地圖或者移動到障礙裡去。如果往這個方向移動推到了箱子,箱子也會按這個方向移動一格,當然,箱子也不能被推出地圖或推到障礙裡。當箱子被推到目的地以後,遊戲目標達成。現在告訴你遊戲開始是初始的地圖布局,請你求出玩家最少需要移動多少步才能夠將遊戲目標達成。
輸入描述:
每個測試輸入包含1個測試用例輸入例子1:第一行輸入兩個數字n,m表示地圖的大小。其中0
輸出描述:輸出乙個數字表示玩家最少需要移動多少步才能將遊戲目標達成。當無論如何達成不了的時候,輸出-1。
4 4輸出例子1:....
..*@
....
.x..
6 6...#..
......
#*##..
..##.#
..x...
.@#...
3之後在中間判斷人的移動有沒有造成箱子的移動就行了。11
#include #include#include
using namespace std ;
struct state
};int vis[10][10][10][10] ;
int map[10][10] ;
intex, ey, x, y, wx, wy , m , n ;
int a=, b= ;
queue
q ;int
bfs()
else}}
return -1;
}int
main()
if(row[j]=='*')
if(row[j]=='@')}}
cout
<< bfs() <}
題目4:賽馬
在一條無限長的跑道上,有n匹馬在不同的位置上出發開始賽馬。當開始賽馬比賽後,所有的馬開始以自己的速度一直勻速前進。每匹馬的速度都不一樣,且全部是同樣的均勻隨機分布。在比賽中當某匹馬追上了前面的某匹馬時,被追上的馬就出局。 請問按以上的規則比賽無限長的時間後,賽道上剩餘的馬匹數量的數學期望是多少
輸入描述:
每個測試輸入包含1個測試用例輸入只有一行,乙個正整數n
1 <= n <= 1000
輸出描述:
輸出乙個浮點數,精確到小數點後四位數字,表示剩餘馬匹數量的數學期望輸入例子1:
1輸出例子1:2
1.00001.5000
#include #includeusing
namespace
std ;
intmain()
cout
}
刷題 阿里20200330筆試
目錄 第1題第2題 總結 小強有n個養雞場,第i個養雞場初始有a i 只小雞。與其他養雞場不同的是,他的養雞場每天增加k只小雞,小強每天結束都會在數量最多的養雞場裡賣掉一半的小雞,假如乙個養雞場有x隻雞,則賣出後只剩下x 2 向下取整 隻雞。問m天後小強的n個養雞場一共多少只小雞?最後幾分鐘a了,很...
今日頭條2018 筆試題2
定義兩個字串變數 s,m,再定義兩種操作,第一種操作 m ss s s 說明 s只會變為原來的2倍 第二中操作 s s m 假設s,m初始化如下 s a m s求最小的操作步驟數,可以將s拼接到長度等於n。示例1 輸入6,輸出3 示例2 輸入4,輸出2 思路 第一種操作,s變為原來的1倍 說明偶數的...
c 筆試題彙總 2
1.以下三條輸出語句分別輸出什麼?char str1 abc char str2 abc const char str3 abc const char str4 abc const char str5 abc const char str6 abc cout str1 str2 cout cout ...