#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <cctype>
#include <stack>
#include <queue>
#include <list>
#include <vector>
#include <map>
#include <sstream>
#include <cmath>
#include <bitset>
#include <utility>
#include <set>
#include <numeric>
using namespace std;
typedef vector<int> vi;
typedef pair<int,int> ii;
typedef vector<ii> vii;
int main()
{
freopen("11831 - Sticker Collector Robot.txt","r", stdin);
int n,m,s,i,j,si,sj,c;
while(scanf("%d %d %d", &n, &m, &s) && (n || m || s))
{
char cell[110][110],d;
string instruct;
for(i=0; i<n; i++)
cin >> cell[i];
bool flag = false;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
if(cell[i][j] == 'N' || cell[i][j] == 'S' || cell[i][j] == 'L' || cell[i][j] == 'O')
{
si=i;
sj=j;
d = cell[i][j];
flag = true;
break;
}
if(flag)
break;
}
cin >> instruct;
c = 0;
for(i=0; i<s; i++)
{
if(instruct[i] == 'D')
{
if(d == 'N')
d = 'L';
else if(d == 'S')
d = 'O';
else if(d == 'L')
d = 'S';
else if(d == 'O')
d = 'N';
}
else if(instruct[i] == 'E')
{
if(d == 'N')
d = 'O';
else if(d == 'S')
d = 'L';
else if(d == 'L')
d = 'N';
else if(d == 'O')
d = 'S';
}
else
{
if(d == 'N' && si != 0)
{
if(cell[si-1][sj] != '#')
si--;
if(cell[si][sj] == '*')
{
c++;
cell[si][sj] = '.';
}
}
else if(d == 'S' && si != n-1)
{
if(cell[si+1][sj] != '#')
si++;
if(cell[si][sj] == '*')
{
c++;
cell[si][sj] = '.';
}
}
else if(d == 'L' && sj != m-1)
{
if(cell[si][sj+1] != '#')
sj++;
if(cell[si][sj] == '*')
{
c++;
cell[si][sj] = '.';
}
}
if(d == 'O' && sj != 0)
{
if(cell[si][sj-1] != '#')
sj--;
if(cell[si][sj] == '*')
{
c++;
cell[si][sj] = '.';
}
}
}
}
printf("%d\n",c);
}
return 0;
}
Showing posts with label UVA. Show all posts
Showing posts with label UVA. Show all posts
Tuesday, July 28, 2015
11831 - Sticker Collector Robot
146 - ID Codes
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
while(cin >> s)
{
if(s == "#")
break;
if(next_permutation(s.begin(),s.end()))
cout << s << endl;
else
cout << "No Successor" << endl;
}
return 0;
}
Monday, August 25, 2014
12157 Tarif Plan
#include<iostream>
using namespace std;
int main()
{
int T,N,a,Mile,Juice,c=1;
cin >> T;
while(T--)
{
Mile = 0;
Juice = 0;
cin >> N;
while(N--)
{
cin >> a;
if((a+1)%30==0)
Mile+=(a+1)/30*10;
else
Mile+=((a+1)/30+1)*10;
if((a+1)%60==0)
Juice+=(a+1)/60*15;
else
Juice+=((a+1)/60+1)*15;
}
if(Mile<Juice)
cout << "Case " << c++ << ": Mile " << Mile;
else if(Juice<Mile)
cout << "Case " << c++ << ": Juice " << Juice;
else
cout << "Case " << c++ << ": Mile Juice " << Mile;
cout << "\n";
}
return 0;
}
12289 - One-Two-Three
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n;
string letter;
cin >> n;
while(n--)
{
cin >> letter;
if(letter.length()==5)
cout << 3;
else if((letter[0]=='o'&&letter[1]=='n')||(letter[1]=='n'&&letter[2]=='e')||(letter[0]=='o'&&letter[2]=='e'))
cout << 1;
else
cout << 2;
cout << "\n";
}
return 0;
}
Tuesday, May 27, 2014
10189 - Minesweeper
#include <iostream>
using namespace std;
int main()
{
int m,n,i,j,c,a=1;
cin >> m >> n;
while(1)
{
if(m==0 && n==0)
break;
char str[m+1][n+1];
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
cin >> str[i][j];
cout << "Field #" << a++ <<":\n";
for(i=1; i<=m; i++)
{
for(j=1; j<=n; j++)
{
if(str[i][j]=='*')
{
cout << "*";
continue;
}
c=0;
if(i-1>0 && j-1>0)
if(str[i-1][j-1]== '*')
c++;
if(i-1>0)
if(str[i-1][j]== '*')
c++;
if(i-1>0 && j+1<=n)
if(str[i-1][j+1]== '*')
c++;
if(j-1>0)
if(str[i][j-1]== '*')
c++;
if(j+1<=n)
if(str[i][j+1]== '*')
c++;
if(i+1<=m && j-1>0)
if(str[i+1][j-1]== '*')
c++;
if(i+1<=m )
if(str[i+1][j]== '*')
c++;
if(i+1<= m && j+1<=n)
if(str[i+1][j+1]== '*')
c++;
cout << c ;
}
cout << endl;
}
cin >> m >> n;
if(m!=0 && n!=0)
cout << endl;
}
return 0;
}
10035 - Primary Arithmetic
#include <cstdio>
using namespace std;
int main()
{
unsigned long int m,n;
int c,d;
while(1)
{
scanf("%lu%lu",&m,&n);
if(m==0&&n==0)
break;
c=0;
d=0;
while(1)
{
if((m%10+n%10+d) >= 10)
{
c++;
d=1;
}
else
d=0;
m/=10;
n/=10;
if(m<10&&n<10)
{
if((m+n+d) >= 10)
c++;
break;
}
}
if(c==0)
printf("No carry operation.");
else if(c==1)
printf("1 carry operation.");
else
printf("%d carry operations.",c);
printf("\n");
}
return 0;
}
Subscribe to:
Posts (Atom)
Triathlon
Triathlon - CodeChef # include < bits/stdc++.h > using namespace std ; # define fi first # define se second # define mp ...
-
# include < bits/stdc++.h > using namespace std ; int main ( ) { int T , c = 1 ; double r1 , r2 , h , p ; // ...
-
DQUERY MO’s Algorithm # include < bits/stdc++.h > using namespace std ; # define fi first # define se second # define ...
-
Triathlon - CodeChef # include < bits/stdc++.h > using namespace std ; # define fi first # define se second # define mp ...