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

2021-07-04 14:42:17 字數 2697 閱讀 3696

時間限制: 1 sec  

記憶體限制: 128 mb

提交: 138  

解決: 8 [

提交][

狀態][

討論版]

宣告:這道題沒有涉及任何演算法!給定函式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 cid 1020 pid 1 langmask 0 rel noopener 提交 狀態 pid 1703 cid 1020 rel noopener 討論版 宣告 這道題沒有涉及不論什麼演算法!給定函式f 1 2 b 3 c ...

第三次個人賽題目3

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

第三次個人賽題目4

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