結果
問題 | No.40 多項式の割り算 |
ユーザー |
|
提出日時 | 2017-09-03 21:29:52 |
言語 | C++11 (gcc 13.3.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 2,501 bytes |
コンパイル時間 | 673 ms |
コンパイル使用メモリ | 78,592 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-06 20:07:35 |
合計ジャッジ時間 | 15,321 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | RE * 1 OLE * 3 -- * 28 |
ソースコード
#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <cmath>#include <string>#include <vector>#include <algorithm>#include <queue>#include <map>#include <functional>#include <set>#include <numeric>#include <stack>#include <utility>#include <time.h>//#include "util.h"using namespace std;typedef long long lint;typedef unsigned long long ull;typedef pair<lint, lint> Pii;#define PI 3.14159265358979323846#define EPS 1e-6#define MIN(a,b) ((a)<(b)?(a):(b))#define MAX(a,b) ((a)>(b)?(a):(b))#define FOR(i,a,b) for (int i=(a);i<(b);i++)#define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--)#define REP(i,n) for (int i=0;i<(n);i++)#define RREP(i,n) for (int i=(n)-1;i>=0;i--)template <typename _Ty>ostream& operator << (ostream& ostr, const vector<_Ty>& v) {if (v.empty()) {cout << "{ }";return ostr;}cout << "{" << v.front();for (auto itr = ++v.begin(); itr != v.end(); itr++) {cout << ", " << *itr;}cout << "}";return ostr;}template <typename _KTy, typename _Ty>ostream& operator << (ostream& ostr, const pair<_KTy, _Ty>& m) {cout << "{" << m.first << ", " << m.second << "}";return ostr;}template <typename _KTy, typename _Ty>ostream& operator << (ostream& ostr, const map<_KTy, _Ty>& m) {if (m.empty()) {cout << "{ }";return ostr;}cout << "{" << *m.begin();for (auto itr = ++m.begin(); itr != m.end(); itr++) {cout << ", " << *itr;}cout << "}";return ostr;}template <typename _Ty>ostream& operator << (ostream& ostr, const set<_Ty>& s) {if (s.empty()) {cout << "{ }";return ostr;}cout << "{" << *(s.begin());for (auto itr = ++s.begin(); itr != s.end(); itr++) {cout << ", " << *itr;}cout << "}";return ostr;}//n % (x^3 - x)void rem(vector<int> n){vector<int> p(4);p[0] = 1; p[1] = 0; p[2] = -1; p[3] = 0;for (int i = 0; i <= n.size() - p.size(); i++) {int q = n[i];for (int j = 0; j < p.size(); j++) {n[i + j] -= p[j] * q;}cout << n << endl;}auto itr = n.end() - 3;if (itr[0] != 0)cout << 2 << endl << itr[0] << " " << itr[1] << " " << itr[2] << endl;else if (itr[1] != 0)cout << 1 << endl << itr[1] << " " << itr[2] << endl;elsecout << 0 << endl << itr[2] << endl;}int yuki0040(){int D;cin >> D;vector<int> n(D + 1);for (int i = 0; i <= D; i++)cin >> n[i];rem(n);return 0;}int main(){//clock_t start, end;//start = clock();yuki0040();//end = clock();//printf("%d msec.\n", end - start);return 0;}