第三次個人賽題目2 多項式輸出格式

2022-09-01 08:30:12 字數 2727 閱讀 2914

時間限制: 1 sec  記憶體限制: 128 mb

提交: 138  解決: 8

[cid=1020&pid=1&langmask=0" rel="noopener">提交][狀態][pid=1703&cid=1020" rel="noopener">討論版]宣告:這道題沒有涉及不論什麼演算法!給定函式f = (1) + (2) * b + (3) * c + (4) * d + (5)。

輸入資料有多組。 每組資料有5個整數,分別相應函式f 中(1)、(2)、(3)、(4)、(5)。

輸出f的表示式。詳細看給出的例子輸出,不要有多餘的符號。

2 3 -3 4 -5

1 2 3 -4 5

2 0 2 2 2

2+3b-3c+4d-5

1+2b+3c-4d+5

2+2c+2d+2

**:

//總結:這樣的題首先要分兩種情況:帶不帶字母 。還得注意。第乙個數 是正數的時候,不用輸出+。

//當是字母的時候看看有沒有係數為1(或者-1)的項,假設有係數為1(或者-1)的項,那個係數就不用輸出了

//然後得看係數是正還是負,假設是負的話。就不用管了,就直接將那一項輸出即可了。假設是正的話。還得

//考慮是否輸出正號。假設前面的係數都是0。那正號就不用輸出了,假設有數,就得輸出正號!

//還得考慮當全部的係數都是0,那就僅僅能輸出0了;

//注意:1.字母的係數1(-1僅僅輸出負號)不輸出。數的話1要輸出。

// 2.正號是否輸出!

(前面的係數都是0或者是第一項的話就不用輸出)

// 3.當全部的項都是0的話,不能沒有輸出!要輸出0!

// 4.注意數的大小(在hpuoj僅僅能用long long),32位不能滿足就僅僅能用long long型來定義了!

#include #include #include #include using namespace std;

int main()

else if(b>0)

if(b==1)//得推斷係數是否是1,是1的話就不用輸出1了!

printf("b");

else//要是不是1的話。就得將正數輸出

printf("%lldb",b);

} if(c<0)//c,d和b事實上是一樣的,在前面的係數是負數的時候,得分情況輸出,看看是-1不是。是-1的話1就不用輸出了

else if(c>0)//當為正數的時候,你不但要考慮前面的是否為1,1不輸出,並且得考慮正好是否輸出。僅僅有前面有數的時候正號才輸出!

if(d<0)

else if(d>0)

if(e<0)//最後乙個是數。而不帶字母。所以是正負1都得輸出!

printf("%d",e);

else if(e>0)

if(!a&&!b&&!c&&!d&&!e)//假設前面的數的係數都是0的話就輸出最後的結果為0!

printf("0");

printf("\n");//最後記住換行

} return 0;

}

注意:這道題我做的思想沒有錯。就是用long long會出現輸入1 0 0 0 0而輸出a+0b+0c+0d的現象,你把long long換成__int64再試試,就對了!

**:

//總結:這樣的題首先要分兩種情況:帶不帶字母 。還得注意,第乙個數 是正數的時候,不用輸出+。

//當是字母的時候看看有沒有係數為1(或者-1)的項。假設有係數為1(或者-1)的項,那個係數就不用輸出了

//然後得看係數是正還是負,假設是負的話。就不用管了。就直接將那一項輸出即可了,假設是正的話,還得

//考慮是否輸出正號。假設前面的係數都是0,那正號就不用輸出了。假設有數,就得輸出正號。

//還得考慮當全部的係數都是0,那就僅僅能輸出0了;

//注意:1.字母的係數1(-1僅僅輸出負號)不輸出。數的話1要輸出。

// 2.正號是否輸出!(前面的係數都是0或者是第一項的話就不用輸出)

// 3.當全部的項都是0的話。不能沒有輸出!要輸出0!

// 4.注意數的大小(在hpuoj僅僅能用long long)。32位不能滿足就僅僅能用long long型來定義了。

#include #include #include #include using namespace std;

int main()

else if(b>0)

if(b==1)//得推斷係數是否是1,是1的話就不用輸出1了!

printf("b");

else//要是不是1的話。就得將正數輸出

printf("%i64db",b);

} if(c<0)//c,d和b事實上是一樣的,在前面的係數是負數的時候。得分情況輸出,看看是-1不是。是-1的話1就不用輸出了

else if(c>0)//當為正數的時候,你不但要考慮前面的是否為1,1不輸出。並且得考慮正好是否輸出。僅僅有前面有數的時候正號才輸出!

if(d<0)

else if(d>0)

if(e<0)//最後乙個是數。而不帶字母,所以是正負1都得輸出。

printf("%d",e);

else if(e>0)

if(!a&&!b&&!c&&!d&&!e)//假設前面的數的係數都是0的話就輸出最後的結果為0!

printf("0");

printf("\n");//最後記住換行

} return 0;

}

第三次個人賽題目2 多項式輸出格式

時間限制 1 sec 記憶體限制 128 mb 提交 138 解決 8 提交 狀態 討論版 宣告 這道題沒有涉及任何演算法!給定函式f 1 2 b 3 c 4 d 5 輸入資料有多組,每組資料有5個整數,分別對應函式f 中 1 2 3 4 5 輸出f的表示式,具體看給出的樣例輸出,不要有多餘的符號。...

第三次個人賽題目3

時間限制 1 sec 記憶體限制 128 mb 提交 112 解決 48 提交 狀態 討論版 很久很久以前,有乙個貧困的國家,這個國家有乙個善良愛民的國王,但是國運維艱,這個國家總是不得不面對這天災的嚴峻挑戰,又一次連月的大雨,引發了洪水,洪水沖斷了道路,水褪去後也有很多村莊成為了孤島,善良的國王愛...

第三次個人賽題目4

時間限制 1 sec 記憶體限制 128 mb 提交 68 解決 22 提交 狀態 討論版 廢話不多說,我要上藍翔。s 表示起始所在位置。表示此處為一座山。為了節省體力,不從此處通行。從 a z 表示各地的經濟水平,對應1 26,路過對應字元的地區需要交對應的生活費。l 表示藍翔技校的所在地。s 與...