📄 1654.txt
字号:
#include <stdio.h>
const int dx[]={-1, 0, 1,-1, 0, 1,-1, 0, 1};
const int dy[]={-1,-1,-1, 0, 0, 0, 1, 1, 1};
int main()
{
int x1, x2, y1, y2, cas;
char c;
__int64 area;
scanf( "%d", &cas );
while( cas-- )
{
x1 = y1 = 0;
area = 0;
c=getchar();
if(c<='9'&&c>='1')
ungetc( c ,stdin );
while(1)
{
scanf( "%c", &c );
if( c == '5' )break;
x2 = x1, y2 = y1;
x1 += dx[c-'1'], y1 += dy[c-'1'];
area += x1*y2 - x2*y1;
}
if( area < 0 ) area = -area;
printf( "%I64d", area/2 );
if( area % 2 ) printf( ".5" );
printf( "\n" );
}
return 0;
}
#include"iostream.h"
#include"math.h"
#include"stdio.h"
void main()
{int t,a;
_int64 x,y,xt,yt;char b;_int64 st;
cin>>t;
for(;t>0;t--)
{x=0;y=0;xt=0;yt=0;st=0;
while(1)
{cin.get(b);a=b-'0';if(a==5)break;
switch (a)
{case 1:x--;y--;break;
case 2:y--;break;
case 3:x++;y--;break;
case 4:x--;break;
case 6:x++;break;
case 7:x--;y++;break;
case 8:y++;break;
case 9:x++;y++;break;
}
st+=x*yt-y*xt;
xt=x;yt=y;
}
if(st<0)st=-st;
printf("%I64d",st/2);
if(st/2*2!=st)printf(".5");
printf("\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -