給定乙個真分數p/q(p < q),請你求出它的小數部分都包括0~9中的哪些數字。emmm…就模擬自己手動的除法吧,迴圈節什麼的太難求了,可以直接迴圈個一萬次。。例如1/2=0.5,只包含數字5;1/3=0.33333……,只包含數字3,1/7=0.142857142857……,包含數字124578。
input
兩個整數p和q,1 ≤ p < q ≤ 1000000
output
從小到大輸出小數部分出現的所有數字
sample input
13 123
sample output
01569
#include
#define ll long long
using
namespace std;
ll p,q,m,cnt;
bool vis[15]
;int
main()
for(
int i =
0;i <=
9;i ++
)return0;
}
愚人節那天,小ho在小hi的乙個回文字串中新增了乙個字元。你能幫助小hi找到被新增的是第幾個字元嗎?還是要想清楚嘛~input
乙個只包含小寫字母的字串s。
對於70%的資料,|s| ≤ 1000
對於100%的資料,|s| ≤ 500000
output
輸出乙個整數k,表示刪除第k(從1開始計數)個字元後,s會變成乙個回文字串。
資料保證有解。如果有多個解,輸出其中k最小的。
sample input
aaba
sample output
1
首先,肯定是會有左右不對稱的兩個地方,需要刪除乙個不對稱的~
其次,,,反正只有兩種答案,嘗試其中一種,不行就另一種~
最後,,記得前移相同的~
#include
#define ll long long
using
namespace std;
char s[
500010];
int len,t;
intmain()
bool ok =
true
;for
(int l =
0,r = len-
1;l,r --)if
(s[l]
!= s[r]
) ok=
false;}
if(ok) ans = i;
else ans = j;
t = ans;
while
(s[ans]
== s[t])if
(ans <0)
printf
("1\n");
else
printf
("%d\n"
,ans+2)
;return0;
}
給定n個陣列,每個陣列都包含m個整數。懶蟲蒟蒻還沒寫,大概思路貌似是這樣的:現在你被要求從每個陣列中選出乙個數,總共n個數,然後求出其中最大與最小的差值。
在mn種選法中,差值最小是多少?
input
第一行包含兩個整數n和m。
以下n行,每行包含m個整數。
對於50%的資料,1 ≤ n × m ≤ 10000
對於100%的資料,1 ≤ n × m ≤ 200000 0 ≤ 每個整數 ≤ 1000000
output
最小的差值
sample input
3 38 1 6
3 5 7
4 9 2
sample output
2
用n個優先佇列儲存n個陣列;
開始的時候把所有的陣列中最小的放進乙個mutiset(元素可以重複的set),然後開始迴圈。
每次取出集合中最小的元素,求出最大值最小值的差,記為ans;把最小元素彈出,在它對應的數列中取出當前最小的元素,放入集合。
直到有乙個優先隊列為空。
2019summer系列 第十場
請叫我掉分小王子,嘿嘿嘿 用寬搜,把每個 加入佇列,記錄step就好了 暴力真的會超時,www 不明白自己的輸入輸出 有問題。就是會wa,換成cin就好了。大概有兩種辦法 從前往後算和從後往前算。首先,行列狀態是不互相影響的,所以可以變成一維的。如果是從前往後,就需要計算每個人上下左右的步數的字首和...
2019summer系列 第四場
鎕鎕鎕 乙個貪心的小伙。嗯,那麼是需要用貪心了。把卡片按ai排序,取最大的ai所在的卡片,然後後邊的兩兩配對,取bi較大的卡片。注意從區域性到全域性!直接全域性是不可能的!榶榶榶 數論。記所有位的數字的和為s,它的最小非1因子為ans1 記位數為n,那麼n位1等於 10 n 1 9 10 n 1 9...
2019summer系列 第六場
zzy的神奇橫跳真是太神奇啦!btw,好好理解下質因數分解!b a 1k a 2l a 3m an b a1 k a2 l a3 m an b a1k a2l a3m an?所以影響b的個數的,就只是k m l 中,最小的啦!zzy666 include define ll long long us...