#include <bits/stdc++.h> using namespace std; struct ps { int t,m; }; int n; ps res, p[1000],a[1000]; char dau[100]; int d=0; ps cong(ps a,ps b) { // cout<<"cong1: "<<a.t<<" "<<a.m<<endl; // cout<<"cong2: "<<b.t<<" "<<b.m<<endl; ps c; int ucln=__gcd(a.m,b.m); int mc=(a.m*b.m)/ucln; // cout<<mc; c.m=mc; c.t=a.t*(mc/a.m)+b.t*(mc/b.m); // cout<<"cong: "<<c.t<<" "<<c.m<<endl; return c; } ps nhan(ps a,ps b) { ps c; c.m=a.m*b.m; c.t=a.t*b.t; return c; } ps toigian(ps a) { int ucln=__gcd(a.t,a.m); ps b; b.t=a.t/ucln; b.m=a.m/ucln; if(b.m<0) { b.t=-b.t; b.m=-b.m; } return b; } void tien_xu_li() { a[1]=p[1];d=1; for(int i=1;i<=n-1;i++) { if(dau[i]=='+') { d++; a[d]=p[i+1]; } if(dau[i]=='-') { d++; p[i+1].t=-p[i+1].t; a[d]=p[i+1]; } if(dau[i]=='*') { a[d]=nhan(a[d],p[i+1]); } } } void tinh() { ps res=a[1]; // cout<<a[1].t<<" "<<a[1].m<<"\n"; for(int i=2;i<=d;i++) { // cout<<a[i].t<<" "<<a[i].m<<"\n"; res=cong(res,a[i]); } res=toigian(res); cout<<res.t<<" "<<res.m; } void nhap() { cin >> n; for(int i = 1; i <= n; i++) { cin >> p[i].t >> p[i].m; } for(int i = 1; i <= n-1; i++) { cin >> dau[i]; } } int main() { freopen("BIEUTHUC1235.inp","r",stdin); freopen("BIEUTHUC1235.out","w",stdout); nhap(); tien_xu_li(); tinh(); }
* Chuyên dạy lập trình ONLINE cho học sinh THCS, THPT *.
Mọi giao lưu, trao đổi, xin liên hệ: Lê Quang Vinh - zalo: 037.803.8755.
Page: Lớp học Code Sky
Group FB1: Ôn thi HSG9 - THTB - TS10 chuyên tin
Group FB2: Học Scratch - Ôn thi Tin học trẻ bảng A
Thứ Sáu, 13 tháng 5, 2022
BIEUTHUC1235 C++
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.