(一)如果乙個數字序列逆置之後跟原序列是一樣的就稱這樣的數字串行為回文序列。例如:
, , 是回文序列,
, , 不是回文序列。
現在給出乙個數字序列,允許使用一種轉換操作:
選擇任意兩個相鄰的數,然後從序列移除這兩個數,並用這兩個數字的和插入到這兩個數之前的位置(只插入乙個和)。
現在對於所給序列要求出最少需要多少次操作可以將其變成回文序列。
//利用遞迴,兩端不論怎樣都要相等或者最終合成為同乙個數
#include using namespace std;
int comb(int* nums, int head, int tail)
if (head >= tail) return times;
else return times += comb(nums, ++head, --tail);
}int main();
cin >> n;
for( int i = 0; i < n; i++)
cin >> nums[i];
cout << comb(nums, 0, n-1);
}
(二)小易有乙個圓心在座標原點的圓,小易知道圓的半徑的平方。小易認為在圓上的點而且橫縱座標都是整數的點是優雅的,小易現在想尋找乙個演算法計算出優雅的點的個數,請你來幫幫他。
例如:半徑的平方如果為25
優雅的點就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12個點。
#include#includeint main()
}
}
(四)乙個只包含'a'、'b'和'c'的字串,如果存在某一段長度為3的連續子串中恰好'a'、'b'和'c'各有乙個,那麼這個字串就是純淨的,否則這個字串就是暗黑的。例如:
baacaaccbaaa 連續子串"cba"中包含了'a','b','c'各乙個,所以是純淨的字串
aabbccaabb 不存在乙個長度為3的連續子串包含'a','b','c',所以是暗黑的字串
你的任務就是計算出長度為n的字串(只包含'a'、'b'和'c'),有多少個是暗黑的字串。
#includeusing namespace std;
//主要是推導公式:
//例如:在字串baa的後面只能有兩種新增字元的方法
//1.新增和末尾相同的字元變成baaa,一定不是暗黑的字串
//2.新增和末尾不同的字串變成baab或baac,一定不是暗黑字串
//用dp[0]和dp[1]分別表示上一次的新增方式對應的暗黑字串的個數
//所以公式為:dp[0] = temp0 + temp1; dp[1] = 2*temp0 + temp1;
long long blacknum(int n)
return ret;
}int main()
else
}return result;
}int main()
(七)小易去附近的商店買蘋果,奸詐的商販使用了**交易,只提供6個每袋和8個每袋的包裝(包裝不可拆分)。 可是小易現在只想購買恰好n個蘋果,小易想購買盡量少的袋數方便攜帶。如果不能購買恰好n個蘋果,小易將不會購買。
#include#includeusing namespace std;
int dsp(int n,bool &hasresult)
else if(n<0)
return min(dsp(n-6,hasresult),dsp(n-8,hasresult))+1; }
int main()
else
}return 0;
}
網易2017秋招程式設計題集合
程式設計題 回文序列 時間限制 1秒 空間限制 32768k 如果乙個數字序列逆置之後跟原序列是一樣的就稱這樣的數字串行為回文序列。例如 是回文序列,不是回文序列。現在給出乙個數字序列,允許使用一種轉換操作 選擇任意兩個相鄰的數,然後從序列移除這兩個數,並用這兩個數字的和插入到這兩個數之前的位置 只...
網易2017秋招程式設計題
小易有乙個圓心在座標原點的圓,小易知道圓的半徑的平方。小易認為在圓上的點而且橫縱座標都是整數的點是優雅的,小易現在想尋找乙個演算法計算出優雅的點的個數,請你來幫幫他。例如 半徑的平方如果為25 優雅的點就有 3,4 4,3 0,5 5,0 一共12個點。輸入描述 輸入為乙個整數,即為圓半徑的平方,範...
網易2017秋招程式設計題
第一題 如果乙個數字序列逆置之後跟原序列是一樣的就稱這樣的數字串行為回文序列。例如 是回文序列,不是回文序列。現在給出乙個數字序列,允許使用一種轉換操作 選擇任意兩個相鄰的數,然後從序列移除這兩個數,並用這兩個數字的和插入到這兩個數之前的位置 只插入乙個和 現在對於所給序列要求出最少需要多少次操作可...