2023年浙江理工大學新生賽

2021-08-13 06:55:38 字數 4651 閱讀 1540

沒有優化,**寫的還醜,可以說是因為原汁原味嗎

(ಥ_ಥ)  

time limit: 1 sec  

memory limit: 128 mb

submit: 980  

solved: 42

給出乙個

c, 問是否存在正整數解

a, b, 

使得b^3 - a^3 = c

成立。

有多組測試(組數

<=1000)

,每組給出

c (1<=c<=1e9)

輸出一對解

"a b"(a如果有多組合法解,請輸出

a 最小的一對解,如果無解的話請輸出

"-1".

7

11

1 2

-1

**:

#include#include#include#includeusing namespace std;

int main()

}if(flag)printf("-1\n");

else printf("%d %d\n",a,b);

}return 0;

}

time limit: 1 sec  

memory limit: 128 mb

submit: 379  

solved: 16

情人節又快到了,每到這個時候總是 fff 團最忙碌的時候,他們為了讓社會更加和諧,致力於降低社會的**度。

在乙個 n*m 影院中,有 x 個男生和 y 個女生,保證 x + y = n * m, 如果有男女相鄰或者前後而坐,**度就會增加1,

現在他們已經黑入了影院的訂票系統,想請你重新設定每個人的位置,使得影院的**度最低。

多組測試。每組輸入形如:

n m x y

1<=n, m<=200

每組輸出形如:

ans

2 2 1 3

4 4 3 13

2

4

貪心策略

(這算貪心?)

:找到男女少的一方設為x,將x盡量朝正方形形狀排位置,如果最後矩形

的短邊大於電影院矩形短邊的一半

(省去小數部分)

,那麼按照向下填充方法排位置,否則輸出a+b。

#include#include#include#includeusing namespace std;

int main()

if(x>y)

if(x%n==0)ans1=n;

else if(x/n==0)ans1=x+1;

else ans1=n+1;

if(x==0)ans1=0;

int ans2,a=1,b=1;

while(a*bb)b++;

else a++;

}if(b>n/2)

ans2=a+b;

printf("%d\n",ans2);

}return 0;

}

time limit: 1 sec  

memory limit: 128 mb

submit: 357  

solved: 30

如果乙個數和它十進位制下各個位上數字的和的差小於 s, 那麼這個數就是magic number.

現在要求你算出在[l, r]區間內的magic number數量。

多組測試資料(組數<=1000)。

每組輸入形如:

l r s

1<=l,r,s<=1e9,

對於每個詢問請輸出對應的答案。

100 100 3

100 1000 999

111 2111 233

0

900129

思路:因為s小於1e9,所以最大符合條件應該略大於(s+9*9),而[l,s]範圍內應該全部滿足,所以從[s+1,s+200]遍歷再加上s-l+1。

**:

#include#include#include#includeusing namespace std;

int f(int n)

return ans;

}int main()

if(s>=r)

int ans=0,maxn=s+200,i;

if(s>l)

if(r

time limit: 1 sec  

memory limit: 128 mb

submit: 528  

solved: 52

科學計數法是將乙個數字表示成 a×10的n次方的形式.其中1≤|a|<10,n為整數。

我們給你乙個數x, 請把它用科學計數法表示出來,並保留 k 位有效數字。

有效數字是指在乙個數中,從該數的第乙個非零數字起,直到末尾數字止的數字稱為有效數字,如0.618的有效數字有三個,分別是6,1,8。(不用考慮四捨五入)

多組測試資料(組數<=100)。

每組輸入形如:

x k 0

請輸出對應的科學計數後的數。

1030 3

1000 2

0.0032 3

1.03e3

1.0e3

3.20e-3

應該是模擬題

**:

#include#include#include#includeusing namespace std;

char s[150];

int main()

return 0;

}

time limit: 1 sec  

memory limit: 128 mb

submit: 499  

solved: 190

現在有兩個矩形,請算出它們公共面積的大小。

多組測試資料。

每組輸入形如:

x1 y1 x2 y2

x3 y3 x4 y4

(x1,y1)為第乙個矩形的左上角的座標,(x2,y2)位第乙個矩形右下角的座標。

(x3,y3)為第二個矩形的左上角的座標,(x4,y4)位第二個矩形右下角的座標。

所有資料的絕對值小於等於100,且均是整數。

請輸出對應的答案。

1 4 2 1

0 3 3 2

0 2 1 1

3 4 4 3

0 2 3 1

2 3 4 0

1

01

**:

#include#include#include#includeusing namespace std;

int main()

if(x1>x3)xmin=x1;

else xmin=x3;

if(x2>x4)xmax=x4;

else xmax=x2;

x=xmax-xmin;

if(y1>y3)ymax=y3;

else ymax=y1;

if(y2>y4)ymin=y2;

else ymin=y4;

y=ymax-ymin;

x=x*y;

if(x<0)x=0;

printf("%d\n",x);

}return 0;

}

time limit: 1 sec  

memory limit: 128 mb

submit: 301  

solved: 42

丟手絹,又叫丟手帕,我國傳統的民間兒童遊戲。開始前,準備幾塊手絹,然後大家推選乙個丟手絹的人,其餘的人圍成乙個大圓圈蹲下。

遊戲開始,被推選為丟手絹的人沿著圓圈外行走。丟手絹的人要不知不覺地將手絹丟在其中一人的身後。被丟了手絹的人要迅速發現自己

身後的手絹,然後迅速起身追逐丟手絹的人,丟手絹的人沿著圓圈奔跑,跑到被丟手絹人的位置時蹲下,如被抓住,則要表演乙個節目,

可表演跳舞、歌謠、講故事等。

lyf老師碰到乙個難題:現在有n個學生圍成一圈丟手絹,他們等間距的分布在圓周上,圓的

周長為1000,現在有1個學生出局,剩下的人

要移動位置重新等間距分布,問他們最少需要移動多少距離。lyf老師腦子有點糊塗,現在這個難題交給你了。

多組測試,每組輸入n,1<=n<=1000000000。

對於每組輸入,四捨五入輸出最少移動距離。

2

35

0

167200

思路:有公式法,但是比賽時想著直接模擬打表

(擦掉,超時了才想的打表)

,500是極限不要問我為什麼,慢慢試的

(ಥ_ಥ)  

#include#include#include#includeusing namespace std;

int v[1000];

int main()

v[i]=2*sum+0.5;

}while(~scanf("%d",&n))

printf("%d\n",v[n]);

}return 0;

}

哈爾濱理工大學2016新生賽K題

小明這個人特別無聊,他喜歡把乙個字串以乙個奇怪的姿勢壓縮起來。他會把連續的字元表示成字元和數字的形式,而且他用的數字還都是一位的!比如下面這個例子 a12 表示的是 aaaa 也就是說壓縮後的字串裡的每個數字表示重複最後乙個出現的字元數字次,就好像上面的例子。現在給你一些被無聊的小明壓縮過的字串,你...

哈爾濱理工大學2016新生賽I題

這次我們要寫乙個簡單的行編輯器,當按下 時代表按下了一次退格符,當按下 時代表乙個退行符 使當前行的字元全部無效 例如,假設從終端接收了這樣的兩行字元 whil lr e s s outcha putchar s 則實際有效的是下列兩行 while s putchar s 請你編寫乙個程式,輸出實際...

哈爾濱理工大學2016新生賽G題

fbi tree的描述如下 我們可以把由0和1組成的字串分為3類,全0的串成為b串,全1的串成為i串,既含0又含1的串則稱為f串。fbi樹是一種二叉樹,它的節點型別也包括f串節點 b串節點和i串節點三種。由乙個 長度為2 n的01串s可以構造出一顆fbi樹t,遞迴的構造方法如下 1 t的根節點為r,...