poj3095

简单的模拟

View Code
   
     
#include < iostream >
#include
< cstdio >
#include
< cstdlib >
#include
< cstring >
#include
< cmath >
using namespace std;

#define maxn 100

string st;
int n;

bool left( int a)
{
for ( int i = a - 1 ; i >= 0 ; i -- )
{
if (st[i] == ' | ' || st[i] == ' \\ ' || st[i] == ' / ' )
return false ;
if (st[i] == ' . ' )
return true ;
}
return true ;
}

bool right( int a)
{
for ( int i = a + 1 ; i < n; i ++ )
{
if (st[i] == ' | ' || st[i] == ' \\ ' || st[i] == ' / ' )
return false ;
if (st[i] == ' . ' )
return true ;
}
return true ;
}

int main()
{
// freopen("D:\\t.txt", "r", stdin);
while (getline(cin, st) && st != " # " )
{
n
= st.length();
int sum = 0 ;
for ( int i = 0 ; i < n; i ++ )
{
if (st[i] == ' _ ' )
{
sum
+= 0 ;
continue ;
}
if (st[i] == ' . ' )
{
sum
+= 100 ;
continue ;
}
if (st[i] == ' / ' )
{
sum
+= left(i) * 100 ;
continue ;
}
if (st[i] == ' \\ ' )
{
sum
+= right(i) * 100 ;
continue ;
}
if (st[i] == ' | ' )
{
sum
+= left(i) * 50 + right(i) * 50 ;
continue ;
}
}
cout
<< int (sum / double (n)) << endl;
}
return 0 ;
}

你可能感兴趣的:(poj)