Printable Version of Topic
Click here to view this topic in its original format
თბილისის ფორუმი > Hello World > დამეხმარეთ C++ მარტივს ამოცანაზე


Posted by: Pacacia 1 Jan 2016, 17:40
ყველას გილოცავთ ახალ წელს.
Codeforces-ზე ვხსნი ამ ამოცანას http://codeforces.com/problemset/problem/612/A და ნაწილობრივ ამოვხსენი, მაგრამ საბოლოო პასუხამდე ვერ მივდივარ.
ანუ პროგრამა მუშაობს 2 შემთხვევაში : 1) როცა p+q=n 2) როცა პასუხი არ არსებობს. დანარჩენ 2 შემთხვევაში ვერ ვწერ, როგორ გამოვატანინო პასუხი cout-ში, თორემ თვითონ If-ები დავწერე
აგერ ჩემი კოდი :
CODE

#include<bits/stdc++.h>
using namespace std;
string s;
int i,n,p,q,a,b,c,d,k,f;
main() {
cin>>n>>p>>q;
cin>>s;
a=n%p;
b=n%q;
c=p+q;
if (a==0) k=n/p;
if (b==0) k=n/q;
if (c==n) { cout<<2<<endl;
for (i=0; i<p; i++)  cout<<s[i];
cout<<endl;
for (i=p; i<n; i++) cout<<s[i]; return 0;

}
if (c!=n && a!=0 && b!=0) { cout<<"-1"; return 0;
}
}

Posted by: Dixtosa 1 Jan 2016, 18:04
Pacacia
სხვისი ამოხსნები ნახე

Posted by: Pacacia 1 Jan 2016, 18:37
Dixtosa
ვნახე მარა სხვანაირას ხსნიან და მე მინდა რო ჩემი კოდი ჩავასწორო

Posted by: Dixtosa 1 Jan 2016, 19:05
სხვებს სხვანაირად იმიტომ უწერიათ რომ ერთი შემთხვევა გაქვს კიდე განსახილველი

როცა N = x*p + q*y

Posted by: koshogio 1 Jan 2016, 19:13
Pacacia
if (a==0){
k=n/p; cout<<k<<endl;
for (i=0; i<n; i++) {
cout<<s[i];
if(i%p==0) cout<<endl;
]
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)