Tuesday, July 29, 2008
Monday, July 28, 2008
Sunday, July 20, 2008
Wednesday, July 09, 2008
SPOJ PALIN
- #include <iostream>
- #include <vector>
- using namespace std;
- bool compare(vector<int> n1,vector<int> n2,int half){
- // if n1>n2 for problem size(n1) == size(n2)
- for (int i=n1.size()-1;i>=half;i--){
- if (n1[i]!=n2[i])
- return n1[i]>n2[i];
- }
- return false;
- }
- void work(vector<int>& num, int pos1, int pos2) {
- if (pos1 < 0) {
- num[num.size()-1] = 1;
- num.insert(num.begin(), 1);
- return;
- } else
- if (num[pos1] < 9) {
- num[pos1] = num[pos2] = num[pos1] + 1;
- return;
- } else {
- num[pos1] = num[pos2] = 0;
- work(num, pos1-1, pos2+1);
- return;
- }
- }
- main (){
- char n;
- vector<int> num,old;
- int half,ssize;
- n=getc(stdin);
- while (n!='\n'){
- num.push_back(n-'0');
- n=getc(stdin);
- }
- while (num.size()>=1 && num[0]!=0){
- old = num;
- ssize=num.size();
- if (ssize%2==0){
- //even
- half=ssize/2;
- //mirror into vector
- for (int i=0;i<half;i++){
- num[ssize-1-i]=num[i];
- }
- if (compare(num,old,half)){
- for (int i=0;i<ssize;i++){
- printf ("%d",num[i]);
- }
- printf ("\n");
- } else {
- work (num,half-1,half);
- ssize=num.size();
- for (int i=0;i<ssize;i++){
- printf ("%d",num[i]);
- }
- printf ("\n");
- }
- } else {
- //odd
- half=ssize/2 ;
- //mirror into vector
- for (int i=0;i<half;i++){
- num[ssize-1-i]=num[i];
- }
- if (compare(num,old,half)){
- for (int i=0;i<ssize;i++){
- printf ("%d",num[i]);
- }
- printf ("\n");
- } else {
- work (num,half,half);
- ssize=num.size();
- for (int i=0;i<ssize;i++){
- printf ("%d",num[i]);
- }
- printf ("\n");
- }
- }
- num.clear();
- n=getc(stdin);
- while (n!='\n'){
- num.push_back(n-'0');
- n=getc(stdin);
- }
- }
- }
The problem with the above is that its a TLE for SPOJ. If you can spot or fix the problem with the code, the points are free for you to grab. And if you are a little benevolent then do consider hinting me too on the shortcomings of this problem.
Adios
Labels: programming, SPOJ
Saturday, July 05, 2008
TumTube's Logo Design


Just finished the design of TumTube's logo. TumTube is going to be a major Indian video sharing website. A lot of improvement is going to be implemented to add social features and engage users to its exclusive contents.
Click here to checkout this piece of work in action.
Labels: artwork, web design