Skip to content

Instantly share code, notes, and snippets.

@jlstr
Created October 10, 2013 02:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jlstr/6911965 to your computer and use it in GitHub Desktop.
Save jlstr/6911965 to your computer and use it in GitHub Desktop.
MyCodeSchool Problem #38 Solution (http://www.mycodeschool.com/Problems/Show?problemId=38)
#include <iostream>
#include <string>
using namespace std;
class RowOrColSum {
public:
long long sumRowOrColumn(long, long, long, char);
};
long long RowOrColSum::sumRowOrColumn(long n, long w, long p, char dir) {
long long sum = 0;
if(dir == 'R') {
long start = p*w - w + 1;
for(long i = start; i < start + w; ++i) {
if(i <= n) {
sum += i;
} else {
break;
}
}
} else if(dir == 'C') {
for(long i = p; true; i += w) {
if(i <= n) {
sum += i;
} else {
break;
}
}
}
return sum;
}
int main() {
RowOrColSum obj;
int cases;
cin >> cases;
for(int i = 0; i < cases; ++i) {
long n, w;
cin >> n >> w;
long p;
char dir;
cin >> p >> dir;
cout << obj.sumRowOrColumn(n, w, p, dir) << endl;
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment